如何将某些函数绑定到不存在的元素?

发布于 2024-08-08 10:04:06 字数 187 浏览 5 评论 0原文

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

My problem: after load some element via ajax, i bind some on-click function, but when user will load few times that same element, binded action will be repeat (not replace, at least that it looks like). I tried unbind, or click(function(){return false;}); but that complete remove clic action from element...).
What is standard solution of that kind of problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

得不到的就毁灭 2024-08-15 10:04:06

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

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

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

这是一个比尝试绑定/取消绑定更干净的解决方案,并确保您不会将相同的事件两次绑定到特定元素。

For most events you can use live() (jQuery 1.3+):

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

This will bind a click event to <td> elements that come into existence after you run this code as well.

This is a much cleaner solution than trying to bind/unbind and ensure you don't have the same event bound twice to a particular element.

诗酒趁年少 2024-08-15 10:04:06

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

if you're using jQuery 1.3.2, you can use $('').live('click', function() {}); to have any elements that match that selector have the action. It keeps the event around even with new elements.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文