栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

JavaScript实现事件的中断传播和行为阻止方法示例

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript实现事件的中断传播和行为阻止方法示例

事件传播

MicroSoft的设计是当事件在元素上触发时,该事件将接着在该节点的父节点触发,以此类推,事件一直沿着DOM树向上传播,直到到达顶层对象document元素。这种自底向上的事件传播方式称为“事件冒泡”,也就是事件传播。

如何中断事件的传播?

stopPropagation() w3c取消冒泡

cancleBubble = true IE取消冒泡

取消事件默认效果:

returnValue = false IE 取消事件效果

defaultPrevent() w3c取消事件效果


 
 
 
 #aa{
 width: 600px;
 height: 600px;
 background: gray;
}
#bb{
 width: 400px;
 height: 400px;
 background: green;
}
#cc{
 width: 200px;
 height: 200px;
 background: red;
}

捕捉写法停止传播 从最顶层开始往下

document.getElementById('aa').addEventListener('click',function (ev){alert('aa');ev.stopPropagation();},true);// 结果捕捉到aa 加true 由冒泡变为捕捉 从上到下
 document.getElementById('bb').addEventListener('click',function (){alert('bb')},true);
 document.getElementById('cc').addEventListener('click',function (){alert('cc')},true);

冒泡写法停止传播 从下往上

document.getElementById('aa').addEventListener('click',function (){alert('aa');});//加true 由冒泡变为捕捉 从上到下
 document.getElementById('bb').addEventListener('click',function (){alert('bb')});
 document.getElementById('cc').addEventListener('click',
 function (ev){
 alert('cc');
 ev.stopPropagation();
 // ev.cancleBubble = true;//IE下 取消冒泡方法
 }); //结果是冒出cc 停止传播
}

取消事件效果

returnValue = false //IE 取消事件效果

preventDefault() //w3c取消事件效果

document.getElementsByTagName('a')[0].onclick = function (ev){
 alert('点击');
 //达到事件结束的效果 但是函数还是往下运行
 //
 ev.preventDefault();
 alert('已经拦截');
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/90710.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号