2011-09-23 87 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