JavaScript 事件代理(委托)

在浏览器设计过程中,关于交互,会面临一个很基本的问题:页面元素层层嵌套,那么当用户点击页面上某个区域的时候,用户真正感兴趣的到底是哪个元素呢?

举个例子:当你点击了一个按钮,你确实是点击了这个按钮,但同时你实际上也点击了按钮所在的 div 区域,body 元素以及 html 元素等等,浏览器怎么知道你想点的到底是哪个元素呢?

对此,dom 标准事件流规定:当一个事件发生后,会经过 3 个传播阶段:

More