Javascript的事件捕获和事件冒泡

再写篇Javascript的基础知识吧,事件的注册和监听是JS的重要功能。任何同用户交互的界面上一般都注册了相当多的事件来监听用户的操作比如鼠标点击,鼠标移动,键盘输入等。那么问题来了,HTML DOM是个嵌套的结构,当我们在某个元素上注册了事件,而且在其父元素上也注册并监听了相同的事件。当子元素上的事件发生时,到底是子元素响应,还是父元素响应?要是都响应的话,先后顺序是什么?这里我们就讨论下JS的事件捕获和事件冒泡机制。