之前一直对冒泡一知半解 今天就去看了一下
<body > <div class="content"> 外层div元素 <span>内层span元素</span> </div> <div class="msg"></div> </body>比如上面这段代码: 给 span div body 都加上click事件以后 当点击span的时候 却也会触发到div以及body的事件 这种就是冒泡
$(function(){ $('span').bind("click",function(){ var txt = $(".msg").html()+"<p>内层span元素被击中</p>"; $(".msg").html(txt); }); $('.content').bind("click",function(){ var txt = $(".msg").html()+"<p>外层div元素被击中</p>"; $(".msg").html(txt); }); $('body').bind("click",function(){ var txt = $(".msg").html()+"<p>body元素被击中</p>"; $(".msg").html(txt); }); })上面这段就会造成事件冒泡 那要怎么阻止事件冒泡呢 jQuery里面有一个stopPropagation() 就是阻止时间冒泡的方法 前提是我们需要添加一个事件对象 这样可以再事件处理函数的时候访问到
$('span').bind("click",function(event){ var txt = $(".msg").html()+"<p>内层span元素被击中</p>"; $(".msg").html(txt); event.stopPropagation(); });这样以后 就成功地阻止了时间冒泡
