JavaScript实现事件的中断传播和行为阻止方法示例
2017-01-20 08:40
701 查看
事件传播
MicroSoft的设计是当事件在元素上触发时,该事件将接着在该节点的父节点触发,以此类推,事件一直沿着DOM树向上传播,直到到达顶层对象document元素。这种自底向上的事件传播方式称为“事件冒泡”,也就是事件传播。
如何中断事件的传播?
stopPropagation()w3c取消冒泡
cancleBubble = trueIE取消冒泡
取消事件默认效果:
returnValue = falseIE 取消事件效果
defaultPrevent()w3c取消事件效果
<div id='aa'> <div id='bb'> <div id ='cc'></div> </div> </div>
#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('已经拦截'); }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
您可能感兴趣的文章:
相关文章推荐
- javascript实现在某个元素上阻止鼠标右键事件的方法和实例
- javascript实现在某个元素上阻止鼠标右键事件的方法和实例
- JavaScript 阻止事件冒泡的实现方法
- javascript 阻止事件冒泡 与 浏览器的默认行为
- javascript:利用事件的阻止冒泡实现模态框的隐藏功能
- js阻止浏览器的默认行为以及停止事件冒泡(用JQuery实现回车提交,兼容IE、FF浏览器)
- JavaScript事件冒泡和阻止默认行为和阻止事件冒泡(转载)
- jquery的冒泡事件的阻止与允许(三种实现方法)
- javascript阻止事件冒泡和浏览器的默认行为
- 阻止事件(取消其默认行为并阻止其传播)
- js阻止浏览器的默认行为以及停止事件冒泡(用JQuery实现回车提交,兼容IE、FF浏览器) 转
- javascript阻止事件冒泡和浏览器的默认行为
- javascript阻止事件冒泡和浏览器的默认行为
- javascript 事件处理、鼠标拖动效果实现方法详解
- javascript事件冒泡详解和捕获、阻止方法
- 阻止事件(取消浏览器对事件的默认行为并阻止其传播)
- javascript 事件处理、鼠标拖动效果实现方法详解
- 阻止Javascript事件的默认行为
- javascript 阻止事件的默认行为
- javascript事件冒泡详解和捕获、阻止方法