jQuery.delegate() は、jQuery 1.7 では .on() に置き換えられました。以下は、jQuery での delegate と on の使用例と違いです。興味のある方は、jQuery1.7 で参照してください。 delegate() は .on() に置き換えられました。以前のバージョンでは、これが依然として
eventsdelegate を使用する最も効率的な手段でした。 イベント バインディングと委任では、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 メソッドによって選択される要素の子要素「正当な」子要素である必要があります。たとえば、
コードは次のとおりです:
on(events,[selector ],[data], fn)、パラメーター [selector] はオプションです。
フィルター
文字列
。
例: コードは次のとおりです:
$("table").on("click", ".td1", function() {
alert("hi");
フィルタークラスは td1 の table サブ要素
とデリゲートのセレクターが必要です。
以上がjQuery での delegate と on の使用法の違いとその例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。