2012-09-06 93 views
2

我有點卡住了一個簡單的問題。我如何將處理程序附加到元素(現在和未來)?例如,我有一個選擇「測試」,我申請一個插件,它:jQuery的附加處理程序到ajax加載的內容

$('.test').handler(); 

,但這並不適用於通過AJAX加載後的內容。

我知道我可以使用.on,但.on方法必須將事件名稱作爲第一個參數,我認爲我沒有這裏。那麼這裏有甚麼名字,或者我該如何解決這個問題?非常感謝。

回答

1

livequery插件可以讓你做到這一點:

http://brandonaaron.net/code/livequery/docs

$(".test").livequery(function(){ 
    $(this).handler(); 
}); 

這將適用於所有當前選擇器的hander()插件,以及未來選擇器

+0

這看起來很有前途。我會看看它。 – bingjie2680

0

您需要重新綁定它在成功處理程序你在哪裏得到來自阿賈克斯的新數據,並注入到THT DOM

例如:

$.get("getNewContentForDOM.aspx",function(data){ 
    ("#someDiv").append(data); 
    $('.test').handler(); 
}); 
+0

謝謝,我寧願只做一次。而無需再次調用代碼'$('。test')。handler()'。因爲'handler(....)'裏面有一個很長的代碼' – bingjie2680