原生实现事件委托的总结

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元素的高度属性 
下一篇:dom元素的高度属性