delegate()
delegate()は要素にイベントを設定できるメソッドです。
セレクターでコンテキストを指定し、第1引数でコンテキスト内の実際にイベントを指定する要素をセレクターで指定します。第2引数でイベント名を文字列で指定し、第3引数でイベントハンドラーを指定します。
$("#bar").delegate("p","click",function(){
alert("on!");
});
また、イベントが実行された際にイベントデータを引き渡すことが可能です。
$("#bar").delegate("p","click","ok",function(e){
alert(e.data);//ok
});
第2引数にオブジェクトで複数のイベントをまとめて指定することができます。
$("#bar").delegate("p",{
click: function() {
// do something on click
},
mouseenter: function() {
// do something on mouseenter
}
});
delegate()で指定されたイベントはundelegate()で削除することができます。
delegate()はjQuery 1.7で追加されたon()で代替可能である為、非推奨ではありませんが将来的に削除される可能性があります。
jQuery 1.4.2での追加/変更delegate()はjQuery 1.4.2で追加されたメソッドです。
jQuery 1.4.3での追加/変更jQuery 1.4.3よりオブジェクトによる複数イベントの指定が可能になりました。
参考URL
.delegate() | jQuery API Documentation
登録日 : 2013年05月11日 最終更新日 : 2013年5月11日
同じカテゴリー(Events)のエントリー
- change()
- blur()
- unload()
- unbind()
- submit()
- select()
- scroll()
- mouseleave()
- mouseenter()
- keyup()
- keypress()
- keydown()
- focusout()
- focusin()
- focus()
- die()
- delegate()
- dblclick()
- bind()
- undelegate()
- error()
- off()
- resize()
- mouseup()
- mousemove()
- mousedown()
- mouseout()
- mouseover()
- click()
- on()
- load()
- ready()