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] liveとdelegateの違いとevent.stopPropagaton()
お腹の調子が悪い。。