最終更新:2013-12-11 (水) 08:55:44 (3761d)
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 1.7でdeprecated になりjQuery 1.9で削除
- 代わりにjQuery.on/jQuery.off?を使う
jQuery.bindとどこが違うの?
- $.bindは指定されたhtml elementsに対して直接ブラウザの機能を使ってイベントを設定しますが、$(selector).liveは一旦document objectでイベントをキャッチした後、jQueryが発生元の要素とselectorをつきあわせて一致した場合イベントハンドラを呼び出します。
利点
- DOM Readyを待たずにイベントを設定できる。
- DOM構築後に追加された要素でもイベントを発生できる。
- 対象要素が多くても設定されるハンドラの数が増えない。
問題点
- Traversing methodを併用すると意図しない要素で呼ばれる場合がある。
- event.preventDefault()で止まらない場合がある。
- FireQueryでイベントが見えない。
- イベント発生時にDOMが構築されていることが保証されない。