我正在附加到页面中的现有 div。附加的文本包含字符串中的 html 代码。问题是,当我在附加到页面后单击它们时,事件不起作用。我猜 Jquery 会在页面加载时加载控件,我必须做一些事情来再次攻击这些事件。
问问题
1658 次
2 回答
5
尝试.live()
为此目的使用或 .delegate。
于 2011-09-23T23:45:16.367 回答
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
});
a.doAction
然后,只要#workingArea
在运行时存在,就会为任何和所有将来添加的元素捕获这些事件。
于 2011-09-23T23:48:53.417 回答