3

我的问题:通过ajax加载一些元素后,我绑定了一些点击功能,但是当用户加载几次相同的元素时,绑定的动作将被重复(不是替换,至少看起来像)。我试过了unbind,或者click(function(){return false;});但是从元素中完全删除 clic 动作......)。这类问题的标准解决方案是什么?

4

2 回答 2

6

对于大多数事件,您可以使用live()(jQuery 1.3+):

$("td").live("click", function() {
  // do stuff
});

这会将点击事件绑定<td>到在您运行此代码后出现的元素。

与尝试绑定/取消绑定并确保您没有将相同的事件两次绑定到特定元素相比,这是一个更简洁的解决方案。

于 2009-10-21T16:56:48.967 回答
1

如果您使用的是 jQuery 1.3.2,则可以使用$('').live('click', function() {});让任何匹配该选择器的元素都具有操作。即使有新元素,它也能保持活动。

于 2009-10-21T16:57:51.457 回答