jQueryのon clickイベントがDOMで生成した要素に効かないとき

on clickはいろいろな書き方がありますが

$(document).on('click', '.selector', function () {

});

のように書くのがベストです。$(document)から始めないとJavaScriptで生成した要素を扱うことができなくなります。

例えば

$('.selector').click(function(){

});

$('.selector').on('click',function(){

});

の書き方は、すでに静的に書かれた要素をJavaScriptで変えたり消したりできますが、DOMで動的に生成した要素を扱うことはできません。

(間違いがある場合はメールでお知らせください)

広告