-1

单击链接时,我正在使用 append 向 div 容器添加一些文本。附加的新文本本身也是一个链接。单击新文本链接时,我附加到此事件的 Jquery 事件不会发生。

如果我将附加的代码直接粘贴到我的 HTML 中,那么事件就会被捕获,就好像附加的 html 无法看到一样。我是否误解了 jquery append 函数的工作原理?

谢谢,

艾伦。

编辑 **

代码:

$(函数(){

$('.tab-link').click(function(){

     alert('hello');

});

$('.tab-copy').click(function(){

     var next=$(this).data("next");

     $('#tabs-row-left').append('<div class=\"tab-folder\" id=\"IDtab'+next+'\"><a href=\"#\" class=\"tab-link\" id=\"tab'+next+'\" data-strategyid='+(next+1)+'>TEST</a></div>');


});

});

这是 JS 小提琴:

http://jsfiddle.net/M6Wcj/

如果单击加号,您将看到新文本出现,这应该像现有文本一样可以单击,并且应该警告“你好”,但它没有。诡异的!

4

2 回答 2

0

只需确保您最近附加的链接具有正确的路径,例如您使用过$(".class a"),但新元素将是$(".class a a")

于 2013-08-28T13:49:04.783 回答
0

听起来您需要将事件绑定更改为“on”,如下所示:

$('#container').on('click', 'a', function(){
    //doSomething.
})
于 2013-08-28T13:50:08.503 回答