jQuery live関数 サポートしていないイベント


jQuery live関数 サポートしていないイベントjQueryのlive関数で指定できるイベントを勘違いしていたのでメモ。

live(type, fn)

jQuery 1.3より実装。
イベントに対してハンドラを登録します。
登録されたイベントは、現在および将来的にも、セレクタにマッチする全ての要素に適用されます。
カスタムイベントに対してbindすることも可能です。

この関数で指定できるイベントは以下

  • click
  • dblclick
  • mousedown
  • mouseup
  • mousemove
  • mouseover
  • mouseout
  • keydown
  • keypress
  • keyup

現時点ではサポートしていないイベントは以下

  • blur
  • focus
  • mouseenter
  • mouseleave
  • change
  • submit

bindとほぼ同様の関数ですが、ハンドラ登録時にマッチする要素だけでなく、永続的に
イベント発生時点でマッチする要素に反応する点が異なります。
例えばli要素に対してclickイベントを登録した場合、bindであれば、その時点でページ上に存在する
li要素に対してイベントが登録されるだけでした。
しかしliveでは、その後で動的にli要素が追加された場合も、そのli要素でのクリックに対してハンドラが実行されます。

参考
jQuery日本語リファレンス

今回の話と関係ないけどこれもメモ。

[jQuery] liveとdelegateの違いとevent.stopPropagaton()

 

お腹の調子が悪い。。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です