最終更新:2013-12-11 (水) 08:55:44 (1681d)  

jQuery.live はてなブックマークを見る
Top / jQuery.live

Attach a handler to the event for all elements which match the current selector, now and in the future.

メモ

jQuery.bindとどこが違うの?

  • $.bindは指定されたhtml elementsに対して直接ブラウザの機能を使ってイベントを設定しますが、$(selector).liveは一旦document objectでイベントをキャッチした後、jQueryが発生元の要素とselectorをつきあわせて一致した場合イベントハンドラを呼び出します。

利点

  • DOM Readyを待たずにイベントを設定できる。
  • DOM構築後に追加された要素でもイベントを発生できる。
  • 対象要素が多くても設定されるハンドラの数が増えない。

問題点

  • Traversing methodを併用すると意図しない要素で呼ばれる場合がある。
  • event.preventDefault()で止まらない場合がある。
  • FireQueryでイベントが見えない。
  • イベント発生時にDOMが構築されていることが保証されない。

参考