阻止默认事件,事件委托和周期
Posted cxf1214
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阻止默认事件,事件委托和周期相关的知识,希望对你有一定的参考价值。
-
dom对象从最外层开始,逐层向下记录每一个dom对象上有没有绑定该事件,如果有记录下来
执行顺序:从外层向内层 直到目标元素截止
-
事件目标 事件触发
目标元素的事件触发
-
事件冒泡
从目标元素开始,逐层向上冒泡触发(捕获阶段记录的绑定的事件)
执行顺序:由内向外
1,当祖先元素和后代元素都绑定的相同的事件时,后代元素的事件触发,祖先的元素的事件也会触发
2,祖先元素的事件,后代元素也可以触发(后代元素没有绑定该事件)
事件监听:
el.addEventListener(‘事件名‘,fn[,true/false]);
第三个:是否在捕获阶段就提前触发 默认是false
如何阻止事件冒泡
dom标准:
事件对象下调用一个方法就可以阻止
e.stopPropagation()
ie下
e.cancelBubble = true;
兼容性写法:
if(e.stopPropagation)
e.stopPropagation()
else
e.cancelBubble = true;
三目
e.stopPropagation?e.stopPropagation():e.cancelBubble = true;
try..catch()
try
e.stopPropagation();
catch()
e.cancelBubble = true;
阻止默认事件
e.preventDefault()
事件委托
原理:利用事件冒泡,将子元素执行执行的事件,添加到父元素上,委托父元素执行