ホームページ  >  記事  >  ウェブフロントエンド  >  jQuery_jquery の delegate と on の使用法と違いの紹介例

jQuery_jquery の delegate と on の使用法と違いの紹介例

WBOY
WBOYオリジナル
2016-05-16 17:08:01994ブラウズ

jQuery1.7では、.delegate()は.on()に置き換えられました。以前のバージョンと同様に、イベント委任の最も効率的な手段が引き続き使用されます。
イベント バインディングと委任では、delegate() 以降は通常同等です。

.delegate() は、指定された要素 (選択された要素の子要素) に 1 つ以上のイベント ハンドラーを追加し、これらのイベントが発生したときに実行する関数を指定します。

コードをコピー コードは次のとおりです:

// jQuery 1.4.3
$( elements ).delegate( selector, events, data, handler );
// jQuery 1.7
$( elements ).on( events, [selector], data, handler );
例: .delegate() コード:


$("table ").delegate("td","click",function(){
alert("hello");
});


。 on() コード:


$("table ").on("click", " td", function() {
alert("hi");
});


追記: 2 つの違いは次のとおりです。セレクターとイベントの順序が異なる
デリゲートとonメソッド 選択された要素の子要素は「正当な」子要素である必要があります。たとえば、


コードをコピーします コードは次のとおりです:
$("table") .delegate("ボタン ","クリック",function(){...});
$("テーブル").on("クリック", "p", function(){...}) ;


は機能しません。通常の状況では、テーブルのサブ要素は tr、td...

on(events,[selector],[data],fn) であるはずです。 )、パラメーター [selector ] はオプションです。
フィルター イベントをトリガーするセレクター要素の子孫として使用されるセレクター文字列。
例:


$(" table").on("click", ".td1", function() {
alert("hi");
});


テーブルのサブ要素を以下でフィルタリングしますclass td1

デリゲートのセレクターは必須です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。