Web制作メモ -トップへ-

[jQuery] 追加した要素のイベントに反応する

JavaScript2014.12.14 20:52

追加した要素のクリックイベントが反応しないので調べたところ、on()を使えばいいとのことでした。

しかし、onに変えても反応しない。あれこれ悩むこと30分…やっと原因が分かりました。

どうやら、onで待ち受けできるのはwondowではなくdocumentのようです!document自体でなくても待ち受けする要素の上位要素ならOKです。

winsowという要素がきっとdocumentとは別物で特別な要素なんだと思われます(あまり詳しくないので予想です)

追加した要素にも反応するコード

$(document).on('click', '.example', function(){
    //実行する処理
});

これで追加したexampleクラスも、クリックに反応するようになります。

下記のコードだと元からある要素には反応しますが、追加した要素に反応しません。

追加した要素に反応しないコード

$('.example').click(function(){
    //実行する処理
});