我的问题:通过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() {});使与该选择器匹配的任何元素具有该操作。即使使用新元素,它也能保持活动。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top