jQueryでdelegateが使用する問題
1578 ワード
bindに慣れて、ライブに慣れて、delegateに慣れなくなったよ有木有...
動的に生成されるラベル要素のバインドイベントをサポートするのはliveとdelegateかもしれませんが、新しいバージョンではliveはサポートされていません.delegateだけです.
delegateは本当に特殊ですね.他のイベントにバインドされているスタイルとは違います.
前のbindスタイルに慣れたから..つまずく
簡単に言えば油断です.
delegate()メソッドは、指定した要素(選択された要素に属するサブ要素)に1つ以上のイベントハンドラを追加し、これらのイベントが発生したときに実行される関数を規定します.
delegate()メソッドを使用するイベントハンドラは、スクリプトによって作成された新しい要素など、現在または将来の要素に適用されます.
構文
パラメータ
説明
childSelector
必要です.イベントハンドラを追加する1つ以上のサブ要素を指定します.
event
必要です.要素にアタッチされる1つ以上のイベントを指定します.複数のイベント値をスペースで区切ります.有効なイベントでなければなりません.
data
オプション.関数に渡される追加データを指定します.
function
必要です.イベントが発生したときに実行される関数を指定します.
例えばこの小さなコードは
わたしはいつも書き上げている
サブセレクタを選択する必要はありません..
さもないと私のように知らないエラーが発生します(クリックするとclickがトリガーされますが、他の要素をクリックしてもclickがトリガーされます...)
以上が本文のすべてですが、お好きになってください.
動的に生成されるラベル要素のバインドイベントをサポートするのはliveとdelegateかもしれませんが、新しいバージョンではliveはサポートされていません.delegateだけです.
delegateは本当に特殊ですね.他のイベントにバインドされているスタイルとは違います.
前のbindスタイルに慣れたから..つまずく
簡単に言えば油断です.
delegate()メソッドは、指定した要素(選択された要素に属するサブ要素)に1つ以上のイベントハンドラを追加し、これらのイベントが発生したときに実行される関数を規定します.
delegate()メソッドを使用するイベントハンドラは、スクリプトによって作成された新しい要素など、現在または将来の要素に適用されます.
構文
$(selector).delegate(childSelector,event,data,function)
パラメータ
説明
childSelector
必要です.イベントハンドラを追加する1つ以上のサブ要素を指定します.
event
必要です.要素にアタッチされる1つ以上のイベントを指定します.複数のイベント値をスペースで区切ります.有効なイベントでなければなりません.
data
オプション.関数に渡される追加データを指定します.
function
必要です.イベントが発生したときに実行される関数を指定します.
例えばこの小さなコードは
$(document).ready(function(){
$("div").delegate("button","click",function(){
$("p").slideToggle();
});
});
。
わたしはいつも書き上げている
$(document).ready(function(){
$("div").delegate($("button"),"click",function(){
$("p").slideToggle();
});
});
サブセレクタを選択する必要はありません..
さもないと私のように知らないエラーが発生します(クリックするとclickがトリガーされますが、他の要素をクリックしてもclickがトリガーされます...)
以上が本文のすべてですが、お好きになってください.