事件捕获

Posted on 2018-11-30 15:20  十一点半  阅读(467)  评论(0编辑  收藏  举报

事件捕获:

      给元素绑定事件,普通写法是obj.onclick=function(){}      这就相当于给obj的onclick属性赋值是一个道理。

      obj.onclick=function(){}这种写法有个缺点,后者会将前者覆盖。

事件绑定的第二种方法:

    标准浏览器用addEventListener()这个方法,

    ie低版本用attachEvent()这个方法

    addEventListener()

括号里三个参数1、事件名 事件名不能带on

        2、事件函数

        3、布尔值      代表捕获不捕获   默认是false     不捕获但是冒泡    true     捕获但是不冒泡

事件捕获

1、ie低版本没有捕获

2、普通事件绑定方法没有捕获

事件捕获:给父子元素用addEventListener()绑定同一个事件时,当触发子元素身上的时间,会先触发父元素,然后在传递给子元素,这种传播机制叫事件捕获。

attachEvent()和addEventListener()二者区别:

1、attachEvent只用在ie8以下      addEventListener()适合标准浏览器

2、attachEvent的事件名带on       addEventListener事件名不带on

3、attachEvent函数里面的this是window       addEventListener函数里面的this是当前元素对象。

4、attachEvent只有冒泡没有捕获        addEventListener有冒泡也有捕获

 

 

所有事件都是异步的。