事件捕获还是事件冒泡

jquery的默认事件处理阶段是冒泡,有什么道理么?捕获和冒泡的具体优缺点是什么呢?

阅读 3.9k
1 个回答

将事件处理放在冒泡过程中可以让子元素拥有更强的自定义性,也能让事件处理更加封闭。捕获过程中处理也有其好处,不过嵌套式的元素处理的时候就推荐采用捕获处理,因为这样破坏了单一元素的封闭性。

举个简单的例子,父元素要处理一个click事件,如果采用捕获过程中处理,那一单这个父元素中添加了带有需要处理click事件的子元素,就必须让父元素知道子元素的存在,并将事件分发给它,这样就让本来轻耦合的父元素和子元素变成了重耦合。而冒泡过程中处理,就避免了这种情况(这种情况在设计处理中比较普遍)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题