あなたはDOMオブジェクトのイベントを聞くことができるように.on()
を使用しようとしている場合最初に.on()
コールを作成した後に作成される可能性がある場合、最も効率的な方法は、移動しない既存の親オブジェクトを見つけて、イベントリスナーを今すぐバインドすることです。
.live()
ドキュメントオブジェクト(マスターの親)にすべてのリスナーを配置し、リスナーが多い場合は非常に効率が悪くなります。
.on()
では、その親オブジェクトが最も効率的になるものを指定できます。したがって、これらのイベントハンドラをすべて1つのステートメントに入れて、これらの '#header .fixed-feedback-bn、#sb-sec .feedback-bn'に共通の親がない場合は、グレッグのような親として文書を書いています。
しかし、これを行うより効率的な方法は、必要に応じてこれを分割することです。動的な必要がない要素については、その要素に直接バインドします。
$('#header, #sb-sec').on('click', function() {
// code here
});
そして、あなたには、いくつかのダイナミックを必要とする要素について:#ヘッダーと#SB-秒が行く/来ないと動的挙動を必要としない場合たとえば、あなたはちょうどこのようにそれを直接見つけることができます動作は、適切な共通の親を選択し、イベントのためのキャッチポイントとして共通の親とあなたがイベントを発生したいサブ要素のためのフィルタとしてセレクタを使用して、このようにその上にフック用:
$('#feedback').on('click', '.feedback-bn, .fixed-feedback-bn', function() {
// code here
});
ところで、私は '$( 'document')の代わりに常に' $(document) 'を使用します。' jQueryとは違うのですか? –