2010.09.006(2)———jquery live()とbind()

1014 ワード

2010.09.006(2)———jquery live()とbind()
bind()とは異なり、live()は一度に1つのイベントしかバインドできません.
この方法は伝統的なbindに似ていますが、いくつかの重要な違いがあります.
ライブでイベントをバインドすると、現在および将来ページ上のすべての要素にイベントがバインドされます(委任方式を使用します).例えば、ページ上のすべてのliにliveでclickイベントをバインドした場合.では、後でliをこのページに追加すると、この新しく追加されたliに対してclickイベントが依然として利用可能になります.このような新しく追加された要素にイベントをバインドする必要はありません.
liveイベントのバブルの挙動は従来の方式とは異なるためstopPropagationやstopImmediatePropagationがバブルを阻止することを完全にサポートすることはできないが、一部はサポートされている.内外の要素がliveイベントでバインドされている場合、return falseによってバブルを阻止することができます.外部の親要素が通常のイベントであり、内部の子要素がliveイベントである場合、return falseでバブルを阻止することはできません.詳しくは例2を参照.
現在、liveイベントではセレクタで選択した要素しかサポートされていません.例えば、$(「li a」).live(...) 使用できますが、$(「a」,someElement).live(...) あるいは$(「a」).parent().live(...) 無効です.
.live()は流行のliveQueryプラグインに似ていますが、以下の主な違いがあります.
.live             ,           。
.live    liveQuery   “   ”       。.live          。
.live   "setup" "cleanup"   。                      。

liveでバインドされたイベントを削除するにはdieメソッドを使用します.