2011-01-22 53 views
0

我添加了一个带有类的跨度,但.click不会触发。在添加类时,.click不会触发 - 使用jQuery

添加一个跨度类代码

var TA = '<span class="TS" id="'+$('#TT').attr('value')+'" style=" color:#fff; margin-left:5px; font-family:arial; font-size:12px">* '+$('#TT').attr('value')+'</span>'; 
$('#QLT').append(TA); 

这增加了一个跨度.TS到一个div .TX。我想使用.click触发.TS,代码

$('.TS').click(function() { 
    alert("ok"); 

    }); 

但是这不会触发。什么是错的,感谢所有的帮助。

感谢 让

+0

确保处理程序在元素添加到页面后进行绑定。或者,您可以使用live()(http://api.jquery.com/live)将事件绑定到不在DOM中的元素。 – Matt 2011-01-22 09:16:20

回答

4

你可能定义单击处理你之前$('#QLT').append(TA)。因此,点击处理程序在绑定时不知道类的新元素。

您可以手动重新绑定,或者使用jQuery的酷live功能,当TS类的新元素被插入到DOM将自动绑定:

$('.TS').live('click', function() { 
    alert("ok"); 
    }); 
相关问题