動的に追加された要素に対してイベント ハンドラーが実行されないことを意味する場合、これは次のような古典的な間違いである可能性があります。
HTML:
<div id="container">
<div class="box">Box</div>
</div>
JavaScript:
$('.box').on('click', function() {
alert('box clicked');
});
var newBox$ = $('<div>').addClass('box').html('Box');
$('#container').append(newBox$); // clicks on this box will not be handled.
しかし、その JavaScript を少し変更すると、動的に追加された要素のイベントが必要に応じて処理されます。
変更方法:
$('#container').on('click', '.box', function() {
alert('box clicked');
});
var newBox$ = $('<div>').addClass('box').html('Box');
$('#container').append(newBox$); // clicks on this box will be handled.
このようにして、イベント ハンドラーをコンテナーにバインドし、イベントがバブルアップしたときに適切なイベント ハンドラーが呼び出されます。