【jQuery】後から追加された要素に対してイベントをバインドする。

めも。

.on()関数を用いる。

例。

下記のようなHTMLがあったとして。

<div class="append">
<button id="btn" type="button">Click</button>
</div>

クリックするとボタンを追加するスクリプトを書く。
この際追加されたボタンに対しても、メソッドをバインドしたい場合は、以下のように記述すればよい。

<script>
$(function(){
	$(document).on('click', '#btn', function(){
		$('.append').append('<button id="btn" type="button">Appended</button>')
	});
})
</script>

過去のバージョンでは「.live()」が存在していたが、「jQuery1.9rc1」より「.live()」は削除されたため、代わりに「.on()」を用いる。
※.live()関数とは引数が異なるので注意されたし。