focus事件如何实现事件委托?事件委托是利用事件冒泡来做,但是父元素没有focus事件,这咋监听啊?一脸懵逼。。。
事件
dom事件
DOM0级事件处理
dom.onclick = function(){//code}
删除绑定直接重新绑定事件即可
这些事件会在事件冒泡阶段来处理,注意绑定事件必须要再dom节点存在之后
在函数中this关键字将指向目标元素,可以通过this访问所有的属性,方法
DOM2级事件处理
主要是addEventListener/removeEventListener(attachEvent/detachEvent->IE)
这里基本就是三个参数,第一个事件类型(IE中要加on),第二个事件处理函数,可以通过参数event获取一些信息,也可以通过this来获取,第三个就有些区别了可以是一个对象,也可以是一个boolean
options{
capture:Boolean 表示会在捕获阶段传播到该EventTarget上执行。
once:Boolean表示只调用一次
passive:Boolean 表示listener永远不会调用preventDefault.默认是false,但是监听touch等事件chrome54之后版本会自动转为true。
}
只有boolean时表示是否在捕获阶段处理。
解除绑定要注意,函数必须要和之前绑定的要一致,这里的一致是指向一致,并不是写成一样的就可以,函数是引用类型,所以通过变量来处理即可。
捕获-》当前事件对象-〉冒泡
IE8及以前只支持冒泡
绑定多个事件的时候,注意IE是按照绑定顺序的反向执行。
Event对象属性方法
网友评论