3

なぜ

$(document).on("keyup blur", "#my_selector", function() {
    //DO SOMETHING
});

動作するようですが、

$("#my_selector").on("keyup blur", function() {
    //DO SOMETHING
});

そうじゃない?私はそれらの両方を私の準備ができた関数に入れました。上のものは機能しますが、下のものは機能しません。これは私の前の質問の文脈にあります。

4

2 に答える 2

1

$('selector').on('event')$.bind のように動作します。
$(document).on('event', 'selector')$.live のように動作します。

つまり、$('selector').onイベント ハンドラーを現在存在するノードにアタッチします。

イベント ハンドラの作成時に が空の場合$('#my_selector')、イベント ハンドラは関連付けられません。

一方、$(document)は常に利用可能で、いつでもイベント ハンドラーをアタッチできます。
$(document).on('event', 'selector', function() { ... })ドキュメントにイベント ハンドラーをアタッチし、「セレクター」でフィルター処理します。したがって、これ$().live()は以前のバージョンの jQuery と同じように機能し、この方法でイベント バインディングを使用する必要があります。

于 2013-08-02T11:56:07.180 に答える