Ryusuke Fuda's Tech Blog

Softweare Enginier about Web, iOS, Android.

要素が取得できなくてclick等のイベントが使えないとき

ajaxで取得してきたデータをappendでhtml生成しているとき、その下に$('.data').clickをかいてもappendは後から呼ばれるので、$('.data')が取得できず反応しない。

■ delegateをつかう

 $('body').delegate('.data', 'click', function()
 {
     console.log($(this));
 });

$('.data').clickと違って
bodyの中の.dataに対してclickがあったときにこの関数と定義するイメージなので、.dataがあろうがなかろうが関係ない。