0

要素を動的に追加し、JQueryでそれらのクリックリスナーを使用しようとしています。何らかの理由removeGroupで、要素の[削除]ボタンをクリックしてもイベントが開始されません。どんな助けでも素晴らしいでしょう。

$('.removeGroup').click(function(event){
    alert();
});
               
cartPopper.click(function(event){
    $('#selectedGroupList').find('.selected').remove();
    for(group in selectedGroups)
    {
        var group_id = selectedGroups[group];
        var name = $('.' + group_id).text();
        $('#selectedGroupList')
            .append
            (
            '<li style="font-size:20px" class="selected ' + group_id + '">'
            + '<a href="javascript: void(0);" class="">'
            + '<button class="btn btn-danger removeGroup" type="button">'
            + 'Remove'
            + '<text class="groupValue" style="display: none;">'
            + group_id + '</text></button></a>'
            + name
            + '</li>'
            );
     }
     cartPop.show();
});
4

1 に答える 1

5

素人の言葉で言えば、あなたが書いたコードは、クリックイベントを既存の要素にのみバインドし、新しく作成された要素にはバインドしません。

イベント委任モデルを使用することにより、現在および将来の要素にバインドすることができます。私は説明が本当に苦手だと思うので、詳細については、delegate()以降を参照てください。

交換

$('.removeGroup').click(function(event){
    alert();
});

$(document).on('click', '.removeGroup', function(event){
    alert();
});
于 2012-11-14T18:06:35.187 に答える