题
我的问题:通过ajax加载一些元素后,我绑定了一些点击功能,但是当用户加载几次相同的元素时,绑定动作将重复(不替换,至少看起来像)。我尝试了unbind
,或click(function(){return false;});
但完全从元素中移除了clic动作......)。
什么是这类问题的标准解决方案?
解决方案
对于大多数活动,您可以使用 live()
(jQuery 1.3 +):
$("td").live("click", function() {
// do stuff
});
这会将click事件绑定到运行此代码后出现的<td>
元素。
这是一个比尝试绑定/解除绑定更清晰的解决方案,并确保您没有对特定元素绑定两次相同的事件。
其他提示
如果您使用的是jQuery 1.3.2,则可以使用$('').live('click', function() {});
使与该选择器匹配的任何元素具有该操作。即使使用新元素,它也能保持活动。
不隶属于 StackOverflow