2011-09-23 85 views
1

我正在追加到我的頁面中的現有div。附加文本包含字符串中的html代碼。問題是,添加頁面後添加點擊時事件不起作用。我想Jquery加載頁面加載控制,我必須做一些事情再次攻擊事件。將JQuery事件附加到「即時創建」控件

回答

5

嘗試使用或.delegate來達到此目的。

+0

謝謝。我喜歡簡單的問題:) – Pabuc

+0

只是一個更新 - 'live'和'委託'都被棄用。你應該使用'on'(http://api.jquery.com/on/)。 –

2

你正在失去delegate()

所以,如果你運行

$('#workingArea a.doAction').bind('click', function(){ 
    // do stuff 
}); 

或等值

$('#workingArea a.doAction').click(function(){ 
    // do stuff 
}); 

後加載的任何a的運行沒有得到事件。

相反,如果你做

$('#workingArea').delegate('a.doAction', 'click', function(){ 
    // do stuff 
}); 

那麼這些事件將任何和所有的得到補充,只要在運行時#workingArea存在未來a.doAction元素被捕獲。

+0

比我更好的解釋 - +1 – genesis

+0

你更快:) – Pabuc