イベントを次のように要素にバインドできることを読みました
$('btn-submit').bind('click', function(){
// your custom code
});
別の言い方をすれば、
$(document).on('click', 'btn-submit', function(){
// your custom code
});
正しくて最も効率的な方法はどれですか? Rails3を使用しています。
イベントを次のように要素にバインドできることを読みました
$('btn-submit').bind('click', function(){
// your custom code
});
別の言い方をすれば、
$(document).on('click', 'btn-submit', function(){
// your custom code
});
正しくて最も効率的な方法はどれですか? Rails3を使用しています。
1 つ目は、バインド時に DOM に存在するイベントをバインドするために使用され、直接バインドと呼ばれます。2 つ目は、バインド イベント時に要素が存在せず、後で追加される場合に必要なイベント委任です。
直接および委任されたイベント
イベント ハンドラーは、現在選択されている要素にのみバインドされます。これらは、コードが .on() を呼び出す時点でページに存在している必要があります。要素が存在し、選択できることを確認するには、ページの HTML マークアップにある要素のドキュメント対応ハンドラー内でイベント バインディングを実行します。新しい HTML がページに挿入されている場合は、要素を選択し、新しい HTML がページに配置された後にイベント ハンドラーを添付します。または、次に説明するように、委任されたイベントを使用してイベント ハンドラーをアタッチします。
委任されたイベントには、後でドキュメントに追加される子孫要素からのイベントを処理できるという利点があります。委任されたイベント ハンドラーがアタッチされた時点で存在することが保証されている要素を選択することで、委任されたイベントを使用して、イベント ハンドラーを頻繁にアタッチおよび削除する必要がなくなります。