javascript的stopPropagation()阻止冒泡什么时候使用?
PHPz
PHPz 2017-04-11 10:09:27
[JavaScript讨论组]

javascript的stopPropagation()阻止冒泡什么时候使用?
也就是我怎么知道哪里要冒泡,哪里不冒泡,哪里需要阻止,哪里不需要阻止?

PHPz
PHPz

学习是最好的投资!

全部回复(1)
高洛峰

比如这个

<a href="https://www.baidu.com">
   <p>
         <span>取消</span>
   </p>
</a>

比如这样的一个需求 点击取消按钮的时候会触发一些js动作,但是不能让这个p产生跳转行为,所以需要在点击取消的时候 阻止冒泡,防止其跳转。

理解错了


阻止冒泡,比如最简单的弹出层,当点击确认提交按钮的时候实际上点击事件是会往上冒泡,而一般我们取消遮罩的时候,都是通过点击弹出层周边的空白区域的。
那么问题来了。

<p id="dialog">
   <span id="submit">确定</span>
</p>

$("#submit").on("click",function(e){
   e.stopPropagation();  //阻止冒泡,防止冒泡到document层
   ...
});

$(document).on("click",function(e){  
   if($(e.target).closest("#dialog").length == 0){
       $("#dialog").hide(); 
   }
})

不知道这样是否解释清楚

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号