2011-01-22 52 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"); 
    }); 
相關問題