最初の本能は、次のような要素のjQueryセットにbindまたは単純なイベントメソッドを使用して、リスナーを追加することを教えてくれます..
$('.className').click(funcName);
$.each メソッドを使用してリスナーを 1 つずつ同じセットに追加するよりもはるかに適切です...
$('.className').each(function(){ $(this).click(funcName); });
しかし、プラグインの開発に関しては、ユーザーがプラグインのインスタンスをページの存続期間中、ページの読み込み時、およびページの読み込み後ずっと ajax を介して複数回呼び出す可能性に対処している場合、ハンドラーを適用するのは間違っていますか?ハンドラーをグローバルクラスセットに抽象化しようとするのではなく、各要素自体
私が扱っている主な質問は、「イベント処理に関して、呼び出されるプラグインの複数のインスタンスを処理する最善の方法は何ですか?作業負荷を軽減するには?」です。バインドとアンバインドができることはわかっていますが、もっと良い方法はありますか?
編集
プラグイン構造からの部分コード
init : function(){
this.each(function(opts){
// adding event handlers here removes
// the need to worry about multiple instances
// and duplicate handles over the lifetime of the page
});
// adding 'global' handlers here may/may not be more
// efficient, but adds an issue of multiple instances
return this;
}