JavaScript事件是否总是在无人监听的情况下执行?

JavaScript事件是否总是在无人监听的情况下执行?,javascript,events,Javascript,Events,JavaScript中的事件是否总是在没有附加侦听器的情况下触发 让我们说“MeMeMoFe”,我移动鼠标,但是在整个应用程序中没有侦听器,浏览器会继续构建一个新的事件并触发它,或者它会优化并考虑一个事实,如果没有事件侦听器,就忽略数据。 我假设每个浏览器的工作方式都不同,我假设它们使用类似于observer之类的模式,但是,是否有一个规范说明了它应该是怎样的呢?如果你觉得这不正确,请随意否决,但根据我的理解,并且根据,有一种感觉,事件总是被构造和执行的,但是监听器需要在那里,当然,要真正注册它

JavaScript中的事件是否总是在没有附加侦听器的情况下触发

让我们说“MeMeMoFe”,我移动鼠标,但是在整个应用程序中没有侦听器,浏览器会继续构建一个新的事件并触发它,或者它会优化并考虑一个事实,如果没有事件侦听器,就忽略数据。


我假设每个浏览器的工作方式都不同,我假设它们使用类似于observer之类的模式,但是,是否有一个规范说明了它应该是怎样的呢?

如果你觉得这不正确,请随意否决,但根据我的理解,并且根据,有一种感觉,事件总是被构造和执行的,但是监听器需要在那里,当然,要真正注册它们

我之所以说“有一种感觉,事件总是被构造和执行的”,是因为规范提到了这一点

此方法允许在事件上注册事件侦听器 目标。如果EventListener在运行时添加到EventTarget 处理事件时,当前操作不会触发该事件 但可能在事件流的后期阶段触发,例如 起泡阶段。如果在上注册了多个相同的EventListener 具有相同参数的相同EventTarget将删除重复实例 被丢弃。它们不会导致EventListener被调用两次 因为它们被丢弃了,所以不需要使用 removeEventListener方法


因此,如果动态添加事件侦听器,则需要有一种方法让页面知道如何注册和侦听它们。正如上面提到的@JAAulde,每个浏览器处理这一问题的方式可能不同,但我认为浏览器不会因为事件侦听器是否存在或至少没有什么重大问题而进行优化。

这就像“森林中的树倒下”问题一样,但是禁止使用麦克风…你是在问浏览器事件吗?这可能会在浏览器和引擎之间进行完全不同的处理。谢谢@aug!这正是我想要的。即使浏览器的工作方式不同,您也总能找到一个“it should is this way”子句。