1

既存のアンカーと同じクラスのアンカーを追加し、追加したアンカーを.click(). 私の現在のコードは既存のアンカーで完全に機能しますが、両方が同じクラスであっても、追加されたアンカーでは機能しません。追加されたアンカーをターゲットにするにはどうすればよいですか?

私が何を意味するかについてのより良いアイデアについては、このJSフィドルの例をチェックしてください。

HTML:

<a href="#" class="append">Append.</a>

<div class="div1">
    <a href="#" class="link">Link.</a>
</div>

jQuery:

$('.append').click(function(){
  $('.div1').append('<a href="#" class="link">Appended link</a>');
});

$("a.link").click(function(){
  alert("The link was clicked.");
});
4

1 に答える 1

2

そのためには、委任されたイベント ハンドラーが必要です。

$('.append').on('click', function(e){
    e.preventDefault();
    var anchor = $('<a />', {href: '#', 'class': 'link', text: 'Appended link'});
    $('.div1').append(anchor);
})

$('.div1').on('click', 'a.link', function(e){
     e.preventDefault();
     alert("The link was clicked.");
});

フィドル

于 2013-05-23T00:12:51.343 に答える