对于JavaScript事件,气泡是否优于捕获?

对于JavaScript事件,气泡是否优于捕获?,javascript,performance,events,jquery-events,event-bubbling,Javascript,Performance,Events,Jquery Events,Event Bubbling,在jQuery中,事件处理程序的默认时间是冒泡时间。比其他的有什么优势吗 捕捉不是比泡泡快吗 泡沫比捕获好吗 不,也没有更糟。完全不同 捕捉不是比泡泡快吗 取决于你对“更快”的定义。在捕获阶段添加的事件侦听器将在冒泡阶段的事件侦听器之前启动,但所有这些事件侦听器都将在浏览器重新绘制之前完成,因此使用其中一个事件侦听器对性能没有任何实际好处 但也存在一些值得注意的差异: 并非所有事件都会冒泡。像focus和load这样的事件不会冒泡。这意味着,如果将非捕获事件侦听器附加到元素上的非冒泡事件,则可以

在jQuery中,事件处理程序的默认时间是冒泡时间。比其他的有什么优势吗

捕捉不是比泡泡快吗

泡沫比捕获好吗

不,也没有更糟。完全不同

捕捉不是比泡泡快吗

取决于你对“更快”的定义。在捕获阶段添加的事件侦听器将在冒泡阶段的事件侦听器之前启动,但所有这些事件侦听器都将在浏览器重新绘制之前完成,因此使用其中一个事件侦听器对性能没有任何实际好处

但也存在一些值得注意的差异:

并非所有事件都会冒泡。
focus
load
这样的事件不会冒泡。这意味着,如果将非捕获事件侦听器附加到元素上的非冒泡事件,则可以确保只有该元素触发了事件,而不是其子元素。相反,您可以使用捕获阶段附加单个事件侦听器,并动态获取触发它的元素,减少侦听器的数量并对未来的元素做出响应

捕获阶段可以在事件到达子元素之前停止传播。在事件冒泡到父元素之前取消事件可能更常见。但是,在事件到达子级之前取消事件可能很有用,在这种情况下,捕获阶段确实有优势(或劣势)

总之:
为所需功能选择正确的捕获模式。在大多数情况下,这两种方法都没有真正的性能优势,即使有,也是一种微观优化。

如果您不解释您的用例,这个问题就没有意义。他们是不同的。也许你只是想问有什么区别?@JuanMendes没有任何具体的案例,我只是了解了事件,发现捕获时间还早。所以我想知道为什么气泡是默认值。用于气泡焦点events@JuanMendes在Firefox中不起作用。看这个问题:是的,我忘了