なぜ
$(document).on("keyup blur", "#my_selector", function() {
//DO SOMETHING
});
動作するようですが、
$("#my_selector").on("keyup blur", function() {
//DO SOMETHING
});
そうじゃない?私はそれらの両方を私の準備ができた関数に入れました。上のものは機能しますが、下のものは機能しません。これは私の前の質問の文脈にあります。
なぜ
$(document).on("keyup blur", "#my_selector", function() {
//DO SOMETHING
});
動作するようですが、
$("#my_selector").on("keyup blur", function() {
//DO SOMETHING
});
そうじゃない?私はそれらの両方を私の準備ができた関数に入れました。上のものは機能しますが、下のものは機能しません。これは私の前の質問の文脈にあります。
$('selector').on('event')$.bind のように動作します。
$(document).on('event', 'selector')$.live のように動作します。
つまり、$('selector').onイベント ハンドラーを現在存在するノードにアタッチします。
イベント ハンドラの作成時に が空の場合$('#my_selector')、イベント ハンドラは関連付けられません。
一方、$(document)は常に利用可能で、いつでもイベント ハンドラーをアタッチできます。
$(document).on('event', 'selector', function() { ... })ドキュメントにイベント ハンドラーをアタッチし、「セレクター」でフィルター処理します。したがって、これ$().live()は以前のバージョンの jQuery と同じように機能し、この方法でイベント バインディングを使用する必要があります。