JavaScript如何阻止点击事件的传递(超链接问题)

事件相关的说明地址:https://developer.mozilla.org/zh-CN/docs/Web/API/Event/stopPropagation
我的笔记地址小科的云笔记

一。描述:点击页面的body会翻页,此时在做一个超链接点击超链接时候也会跳页,但是同时事件向上传递最终执行的时间是body的时间。此时我们就需要阻止时间向上传递。

  1. 最初的解决方法是许总给了一个阻止事件传递的方法:如图
    在这里插入图片描述
    就是给点击事件一个向上传递的时间方法: event.cancelBubble=true;
    这个方法显然是可行的,但是该方法已经过期了

官方说明:
警告: 请使用 event.stopPropagation() 方法来代替该不标准的属性.
概述节
已废弃
该特性已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。
获取或设置一个布尔值,表明当前事件是否要取消冒泡.
语法
event.cancelBubble = bool;
var bool = event.cancelBubble;
bool 的值为true或false.
备注
如果一个事件是可冒泡的,则它的cancelBubble属性的默认值为 false,代表允许该事件向上冒泡. 将cancelBubble属性设置为true以后,可以阻止该事件的进一步冒泡行为.

目前应该使用的方法是
event.stopPropagation();
语法
event.stopPropagation();

发布了27 篇原创文章 · 获赞 8 · 访问量 3526

猜你喜欢

转载自blog.csdn.net/Kiss_code/article/details/103249852