事件代理(Event Delegation),又称之为事件委托。是JavaScript中常用绑定事件的常用技巧。顾名思义,“事件代理”即是把原本需要绑定在子元素的响应事件(click、keydown......)委托给父元素,让父元素担当事件监听的职务。事件代理的原理是DOM元素的事件冒泡
事件冒泡
-
点击子元素的事件 事件会传递给父元素 继续执行 事件触发包含响应,
-
事件源:触发事件的对象
-
事件名:click,mouseover等
-
事件处理函数: onclick,onmouseover 事件触发的三个阶段
-
捕获阶段:从window对象传导到目标节点(上层传到底层)称为捕获阶段,捕获阶段不会响应任何事件
-
目标阶段:从目标阶段触发,被称为目标阶段
-
冒泡阶段:从目标节点传导回window对象(从底层传到上次)称为冒泡阶段
-
阻止事件冒泡: e.stopPropagation();