bind()
bind()は要素にイベントを指定できるメソッドです。
jQuery 1.7.0で、要素にイベントを指定できるon()が追加されており、bind()ではなくon()の利用が推奨されています。
bind()は要素に直接イベントを指定するのに対して、on()はdocumentにイベントを指定しbind()より高速に動作します。また、bind()はすでに存在する要素に対してしか、イベントが指定できませんがon()やdelegate()は今後追加される要素に対してもイベントが指定できます。
bind()は第1引数にイベントの名前を指定し、次にイベントが実行された際に実行したい関数(イベントハンドラー)を指定します。次のように指定するとdivがclickされた際に「ok」とアラートが表示されます。イベントの名前にはjQueryやJavaScriptのイベントが指定できます。
$("div").bind("click",function(){
alert("ok");
});
イベントは半角スペース区切りで複数のイベントが指定できます。
$("div").bind("click keydown",function(){
alert("ok");
});
第2引数に文字列やオブジェクトを指定することでイベント内で利用できるデータを引きわたすことができます。
$("div").bind("click","ok",function(e){
alert(e.data);//ok
});
jQuery 1.4.3より引数にオブジェクトで複数のイベントやイベントハンドラーをまとめて指定できるようになりました。次のサンプルでは#fooに対してclickされた際のイベントとmouseenterされた際のイベントを個別に指定しています。
$('#foo').bind({
click: function() {
// do something on click
},
mouseenter: function() {
// do something on mouseenter
}
});
jQuery 1.0.0での追加/変更bind()はjQuery 1.0で定義されたメソッドです
jQuery 1.4.0での追加/変更jQuery 1.4.0から複数のイベントやイベントハンドラーをまとめて指定できるようになりました
参考URL
.bind() | jQuery API Documentation
登録日 : 2013年05月05日 最終更新日 : 2013年5月5日
同じカテゴリー(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()