如何将某些函数绑定到不存在的元素?
我的问题:通过ajax加载一些元素后,我绑定了一些点击功能,但是当用户加载同一元素几次时,绑定的操作将重复(不是替换,至少看起来像)。我尝试了 unbind
或 click(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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于大多数事件,您可以使用
live()
(jQuery 1.3+ ):这会将点击事件绑定到运行此代码后出现的
元素。
这是一个比尝试绑定/取消绑定更干净的解决方案,并确保您不会将相同的事件两次绑定到特定元素。
For most events you can use
live()
(jQuery 1.3+):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.
如果您使用的是 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.