jQuery live(type,fn)委任イベント実装
1108 ワード
現在click,dblick,mousedown,mouseup,mousemove,mouseover,mouseout,keydown,keypress,keyupがサポートされています.
blur,focus,mouseenter,mouseleave,change,submitはまだサポートされていません
bind()とは異なり、live()は一度に1つのイベントしかバインドできません.
この方法は従来のbindとよく似ており,liveでイベントをバインドすると,現在および将来のページ上のすべての要素にイベントをバインドする(委任方式を用いる)という違いがある.例えば、ページ上のすべてのliにliveでclickイベントをバインドした場合.では、後でliをこのページに追加すると、この新しく追加されたliに対してclickイベントが依然として利用可能になります.このような新しく追加された要素にイベントをバインドする必要はありません.
.live()は流行のliveQueryプラグインに似ていますが、以下の主な違いがあります.
* .Liveは現在、すべてのイベントのサブセットのみをサポートしており、サポートリストは上記の説明を参照してください.
* .liveはliveQueryが提供する「イベントなし」スタイルのコールバック関数をサポートしません..Liveはイベント処理関数のみをバインドできます.
* .ライブには「setup」と「cleanup」のプロセスはありません.すべてのイベントは、要素に直接バインドされるのではなく、委任されているからです.
liveでバインドされたイベントを削除するにはdieメソッドを使用します.
戻り値
jQuery
パラメータ
type(String):スペースで区切られた1つ以上のイベント名
fn(Function):バインドするイベント処理関数
例
クリックして生成したpは依然として同じ機能を持っている.
HTMLコード:
Click me!
jQueryコード:
blur,focus,mouseenter,mouseleave,change,submitはまだサポートされていません
bind()とは異なり、live()は一度に1つのイベントしかバインドできません.
この方法は従来のbindとよく似ており,liveでイベントをバインドすると,現在および将来のページ上のすべての要素にイベントをバインドする(委任方式を用いる)という違いがある.例えば、ページ上のすべてのliにliveでclickイベントをバインドした場合.では、後でliをこのページに追加すると、この新しく追加されたliに対してclickイベントが依然として利用可能になります.このような新しく追加された要素にイベントをバインドする必要はありません.
.live()は流行のliveQueryプラグインに似ていますが、以下の主な違いがあります.
* .Liveは現在、すべてのイベントのサブセットのみをサポートしており、サポートリストは上記の説明を参照してください.
* .liveはliveQueryが提供する「イベントなし」スタイルのコールバック関数をサポートしません..Liveはイベント処理関数のみをバインドできます.
* .ライブには「setup」と「cleanup」のプロセスはありません.すべてのイベントは、要素に直接バインドされるのではなく、委任されているからです.
liveでバインドされたイベントを削除するにはdieメソッドを使用します.
戻り値
jQuery
パラメータ
type(String):スペースで区切られた1つ以上のイベント名
fn(Function):バインドするイベント処理関数
例
クリックして生成したpは依然として同じ機能を持っている.
HTMLコード:
Click me!
jQueryコード:
$("p").live("click", function(){
$(this).after("Another paragraph!
");
});