在选择器中添加多个元素如何仅 .load() 一次?
一个真正精简的版本:
场景两个选择器我正在制作动画,然后使用 .load()
加载外部页面 看来 load()
为 element_A
和 element_B
触发了两次...... 有没有办法让它只触发一次?
$('.element_A, .element_B').click(function(){
//...
$(".element_C").load("someFile", etc);
//...
});
A really stripped down version:
Scenario two selectors I am animating and then loading an external page using .load()
It seems the load()
is triggerd twice for element_A
and element_B
...
Is there a way to have it only trigger once?
$('.element_A, .element_B').click(function(){
//...
$(".element_C").load("someFile", etc);
//...
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用标志来指示
.load()
是否已经运行。如果需要,您可以在
load
的回调中将其设置回false
。或者,如果它触发两次的原因是选择器中的一个元素嵌套在另一个元素内,那么这是因为事件正在冒泡。
您可以使用
return false;
或event.stopPropagation( )
(docs) 方法。Use a flag to indicate if the
.load()
has already run.You can set it back to
false
in the callback for theload
if needed.Or if the reason why it is firing twice is that one of the elements in the selector is nested inside the other, then it is because the event is bubbling.
You can prevent bubbling with
return false;
or theevent.stopPropagation()
(docs) method.patrick dw 为解决方案奠定了基础。需要添加某种指示器才能仅触发一次负载。
patrick dw built the foundation for the solution. An indicator of some kind needed to be added for the load to be triggered only once.