JSON 文字列内の関数の記述をパースして実体化する

  事前に代入先を記述して eval する



<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">

var event_lst = '{"target_a":"event_lst[\\"target_a\\"]=function(){alert(this.id);}","target_b":"event_lst[\\"target_b\\"]=function(){alert(this.id);}","target_c":"event_lst[\\"target_c\\"]=function(){alert(this.id);}","target_d":"event_lst[\\"target_d\\"]=function(){alert(this.id);}","target_e":"event_lst[\\"target_e\\"]=function(){alert(this.id);}"}';

event_lst = JSON.parse(event_lst);
for( var str in event_lst ) {
	eval( event_lst[str] );
}

$(function(){
	$( ".event_lst" ).each(function(index) {
		// this は参照した DOM
		$( this ).val(this.id);
		// event_lst の function をイベントに登録
		// var event_lst は トップで定義しているので、
		// window["event_lst"] で参照できます
		$( this ).click( window[this.className][this.id] );
	});
});

</script>
<input class="event_lst" type="button" id="target_a"><br>
<input class="event_lst" type="button" id="target_b"><br>
<input class="event_lst" type="button" id="target_c"><br>
<input class="event_lst" type="button" id="target_d"><br>
<input class="event_lst" type="button" id="target_e"><br>










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ