イベント管理を手助けしてくれるjQueryプラグイン behavior
以前、JavaScriptとクロージャとデザインパターンというエントリーを書きましたが、この中で行ったのとほぼ同じことをjQueryプラグインとしてまとめたものがありました。
jQuery.behaviorというエレメントに対してオブジェクトを結びつけてくれるプラグインで、イベントと処理が分離でき、管理しやすくなります。
使い方
1 エレメントを指定して、クラスで初期化
// 1.振る舞いを記述するクラス定義 : function BadBehavior(element, config) { this.misbehave = function () { alert('爆発しろ'); }; this.saybehave = function (word) { alert(word); } this.showbehave=function(word){ $(element).text(word) } } // 2. エレメントを指定して、クラスで初期化: $('.bad-behavior').behavior(BadBehavior);
2 文字列でそのエレメントに対して「どのイベントを起こすか」を指定する
$('.bad-behavior').behavior('misbehave');//爆発しろ! //イベントと処理が分離できる $('.bad-behavior').click(function(e){ $(e).behavior('misbehave'); }); //第2引数以降はパラメーターとして渡せる $('.bad-behavior').behavior('saybehave',"クリスマスは中止です"); //整数値を与えることで、特定のエレメントにだけアクセスすることも可能 $('.bad-behavior').behavior(0).showbehave("嫉妬の炎が世界を焼き尽くす");
こんな感じで、イベントとその処理が分離できます。また、テキストエリアに入力したパラメータで別のエレメントを操作する場合など、イベント間の連携が必要な場合にも便利ですね。
jQueryに依存している難点はあるものの、その代わりにシンプルで強力な支援ライブラリとして使えると思います。