原生实现事件委托的总结
addEventListener:
- 回调函数传参需使用匿名函数,这样无法移除事件。所以将参数绑定到element._params上,在回调函数中使用event.target._params获取参数
- 不可调用构造函数,否则每次触发都会创建新的函数实例
- 默认执行事件冒泡,useCapture:true设置事件捕获,同一个dom多个事件优先执行事件捕获
- 使用event.stopPropagation()停止继续派发事件
- 使用event.target或者this获取监听的dom
fn.bind(): 传参改变函数的this指向
innerHTML: 获取dom的innerHTML后,如果dom内容发生改变,但是获取到的内容不会随之发生变化
dataset: 使用dataset代替setAttribute存储自定义数据,并且能在css中使用attr()读取;
pointer-events: 设置为none使鼠标事件穿透dom
下一篇:dom元素的高度属性