js 事件的阶段

事件有三个阶段:
  1.事件捕获阶段 :从外向内
  2.事件目标阶段 :最开始选择的那个
  3.事件冒泡阶段 : 从里向外
 
为元素绑定事件
addEventListener("没有on的事件类型",事件处理函数,控制事件阶段的)
事件触发的过程中,可能会出现事件冒泡的效果,为了阻止事件冒泡--->
  1、window.event.cancelBubble=true;谷歌,IE8支持,火狐不支持
    window.event就是一个对象,是IE中的标准
 
  2、e.stopPropagation();阻止事件冒泡---->谷歌和火狐支持
 
window.event和e都是事件参数对象,一个是IE的标准,一个是火狐的标准
事件参数e在IE8的浏览器中是不存在,此时用window.event来代替
 
addEventListener中第三个参数是控制事件阶段的
事件的阶段有三个:
  通过e.eventPhase这个属性可以知道当前的事件是什么阶段你的
    如果这个属性的值是:
        1---->捕获阶段
        2---->目标阶段
        3---->冒泡阶段
    一般同时只能出现1-2 、2-3 不可能同时出现1-3
 
一般默认都是冒泡阶段,很少用捕获阶段 所有 addEventListener中第三个参数(false)
 
冒泡阶段:从里向外
捕获阶段:从外向内

猜你喜欢

转载自www.cnblogs.com/wanguofeng/p/10574973.html
今日推荐