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