2010-02-10 30 views
3

提前感谢工作的帮助:不能得到点击()函数,在jQuery的

此功能在从第一次点击功能股利下降罚款,但不会承认第二卡功能以任何身份任何。

我甚至可以根据需要激活第一次点击功能。

我错过了什么?我把这件事撕成碎片。

$('span[rel="confirm"]').click(function() { 
    $('.confirmbox').remove(); 

    targetpath = $(this).attr("targetpath"); 
    dbid = $(this).attr("dbid"); 

    $(this).after('<div><span class="closeout">X</span> &nbsp Are you sure you want to <a href="index.php?cmd=deletesample&id=' + dbid + '&filetarget=' + targetpath + '">delete?</a></div>'); 
    $('.confirmbox').show(200); 
}); 

$('.closeout').click(function() { 
    $('.confirmbox').css('background-color', 'green'); 
}); 
+0

+1欢迎堆栈溢出,@ user257878 – Sampson 2010-02-10 03:06:18

回答

7

你动态地添加元素,所以你需要使用$ .live()代替:

$('.closeout').live("click", function(){ 
    $('.confirmbox').css('background-color', 'green'); 
}); 
+0

哈......我应该有清爽,看到你的答案,然后再发布;) – 2010-02-10 03:12:05

+0

@ElijahManor我们都在那里: )从技术上讲,你的答案与我的不同*)我会以你的方式通过+1! – Sampson 2010-02-10 03:14:34

+0

非常感谢你们的帮助和解释。我认为这是问题所在,但不知道从哪里开始寻找解决方案。 – dclowd9901 2010-02-10 03:36:19

5

既然你是在处理动态DOM元素,你需要改变你的点击()到现场()事件,而不是...

$('.closeout').live('click', function() { 
    $('.confirmbox').css('background-color', 'green'); 
}); 

这是基于你的代码快速演示link text

有关活动的详细信息()检查http://api.jquery.com/live/