jquery阻止事件冒泡

<div di="div">我是div1
<p id="p"><a id="a">我是a</a>我是p</p>
</div>

对于这样的文档流咱们加上事件 spa

$(document).ready(function){
    $("#div").click(function(){
    alert("我是DIV");
})
$("#p").click(function(){
alert("我是p")
})
$("#a").click(function(){
alert("我是a");
})
}

当点击a的内容的时候会分别弹出  我是a,我是p 我是div code

这就是事件冒泡,可是咱们但愿的是当点击a的时候只弹出"我是a",因此咱们要阻止事件冒泡 事件

解决方案就是对在每一次事件执行后阻止事件的继续执行 文档

在js里面用preventDefault()和stopPropagation()方法 io

preventDefault()取消事件的默认行为若是cancelable为true则能够使用这个方法 event

stopPropagation()取消事件的进一步捕获或冒泡,若是bubbles为true,则能够使用这个方法 function

$(document).ready(function){
    $("#div").click(function(event){
    alert("我是DIV");
event.stopPropagation();//阻止事件冒泡
})
$("#p").click(function(){
alert("我是p")
event.stopPropagation();//阻止事件冒泡
})
$("#a").click(function(){
alert("我是a");
event.stopPropagation();//阻止事件冒泡
})

固然也能够把使用return false,来阻止事件冒泡,可是最好不要这样,咱们仍是适合取消事件的默认行为用

event.preventDefault();//阻止事件冒泡 class

相关文章
相关标签/搜索