我有一个div里面有一个链接:
<div id="myDiv"> <a href="http://www.lol.com">Lol</a> </div>
点击< div />应该去某个地方,但点击孩子< a />应该去www.lol.com。从previous questions和jQuery website我已经看到.stopPropagation防止向上冒泡,但是如何防止气泡向下(这不是在这里需要的吗?
解决方法
活动只会起泡。因此,在元素的点击事件处理程序之前触发了一个元素的点击事件处理程序。如果你想要描述的行为,你需要添加一个单击事件处理程序到一个元素停止传播到div。
$("#myDiv a").click( function(event) { event.stopPropagation(); } );
并保留div上的任何事件处理程序。这应该允许事件执行它的默认操作,并且阻止被触发的div处理程序。
如果您只想防止点击链接,那么您可以更改div元素的事件处理程序
$("#myDiv").click( function( event ) { if( !$( event.target ).is( "a" ) ) { // existing event handler } } );
原文地址:https://www.jb51.cc/jquery/183472.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。