我来说说JS中的事件委托
概念
通俗地来讲,就是把一个元素响应事件(click、keydown......)的函数委托到另一个元素;
原理
DOM 中事件委托的实现是利用事件冒泡的机制,
什么事冒泡原理
- 在 document.addEventListener 的时候我们可以设置事件模型:事件冒泡、事件捕获,一般来说都是用事件冒泡的模型
- 如上图所示,事件模型是指分为三个阶段:
捕获阶段:在事件冒泡的模型中,捕获阶段不会响应任何事件; 目标阶段:目标阶段就是指事件响应到触发事件的最底层元素上; 冒泡阶段:冒泡阶段就是事件的触发响应会从最底层目标一层层地向外到最外层(根节点),事件代理即是利用事件冒泡的机制把里层所需要响应的事件绑定到外层;