jQueryでbind() .live() .delegate() .on()の違い

1286 ワード

bind(type,[data],fn)は、一致する要素ごとに特定のイベントにイベント処理関数をバインドする
$("a").bind("click",function(){alert("ok");});

Live(type,[data],fn)は、一致するすべての要素にイベント処理関数を追加し、この要素が後で追加されたとしても
$("a").live("click",function(){alert("ok");});

delegate(selector,[type],[data],fn)指定された要素(選択された要素に属するサブ要素)に1つ以上のイベントハンドラを追加し、これらのイベントが発生したときに実行される関数を規定する
$("#container").delegate("a","click",function(){alert("ok");})

on(events,[selector],[data],fn)は、選択要素に1つ以上のイベントのイベント処理関数をバインドするとともに、後に追加される要素もサポートする
違い:
.bind()は要素に直接バインドされます
.live()は泡を立てることで元素にバインドされている.より適切なリストタイプは、document DOMノードにバインドされます.和.bind()の利点は動的データをサポートすることである.
.delegate()はイベントエージェントをより正確に使用し、パフォーマンスが優れている.live()
.on()は最新の1.9バージョンで、以前の3つの方法を統合した新しいイベントバインドメカニズムです.