面试题/谈谈事件委托的理解?

282 阅读1分钟

事件委托指的是给父元素注册事件,委托给子元素处理

事件委托的优点:

1.减少事件注册,节省内存
2.在table上代理所有td的click事件
3.在ul上代理所有的li的click事件
4.简化了dom节点更新时,对应事件的更新
5.不用在新添加的li上绑定click事件
6.当删除某个li时,不用移解绑上面的click事件

缺点:

1.事件委托给予冒泡,对于不冒泡的事件不支持.
2.层级过多,冒泡过程中,可能会被某层阻止掉
3.理论上委托会导致浏览器频繁调用处理函数,虽然很可能不需要处理,所以建议就近委托,比如在table上代理id, 而不是在doncument上代理td