面试的时候经常会被问到,事件代理是利用了事件的什么机制?一般我们都会说,是利用了事件冒泡机制,但具体冒泡机制在事件代理的过程了起到了什么关键作用,我想大部分人也是不了解的。静下心来,仔细看了下有关事件和事件代理问题,自己终于找到了合适的答案。
在揭晓答案之前,还是来看一下事件的基本知识
事件操作在项目中使用频繁,jQuery封装了我们对DOM的事件操作,NodeJS中也有 events 这个事件操作模块,几乎各种语言都有事件模型,事件使用频繁,事件模型可以使我们从复杂的业务中抽象出独立的逻辑,跨越模块与模块之间传递数据,以达到类似解耦的概念。
不同的环境有不同的事件模型,在浏览器中,DOM事件模型比较特殊,重温一下DOM事件模型,再来自定义一个事件模型。