MDN JS学习之event

来源:互联网 发布:淘宝30天历史最低价 编辑:程序博客网 时间:2024/06/07 19:34

event 事件
event handler 事件处理器(事件fire以后运行的代码块,注册一个事件处理器)
event listener 事件监听器
监听器是监听事件的发生,处理器是事件发生以后做出的响应


event handler 有三种不同的形式:
1. object的event handler properties
有更好的跨浏览器兼容性
btn.onclick = function(){//run code here}
2.Inline event handlers ,不建议使用
(又叫event handler HTML attributes)
Press me
3.addEventListener() & removeEventListener()
可以移除无用的事件处理器,但兼容性不太好
对同一个元素可以注册多个监听器处理器,而特性形式的则只能保留最后一个处理器,前面的都会被覆盖


其他知识点:
1.handler带的参数event/eve/e event object
event object带有的target属性,就是一个指向事件发生载体的引用

2.event bubbling and capturing
针对某个元素上同一个事件被激活的时所响应的多个事件处理器

bubbling phase是从内到外,从元素本身向父节点扩散检测事件处理器
capturing phase是从外到内,从html节点开始向目标节点追踪检测事件处理器
浏览器默认的是bubbling,阻止扩散的话用e.stopPropagation();
要使用capturing phase的话,可以将addEventListener()的第三个参数设置为true

3.事件代理/委托 event delegation
要对多个子节点进行同一个事件处理,可以直接将事件处理器绑定在父节点上。并且用event.target来确认发生事件的子节点

原创粉丝点击