jQuery stopPropagation泡泡下来

我有一个div里面有一个链接
<div id="myDiv">
    <a href="http://www.lol.com">Lol</a>
</div>

点击< div />应该去某个地方,但点击孩子< a />应该去www.lol.com。从previous questionsjQuery 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
    }
} );

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...