当前位置:  开发笔记 > 编程语言 > 正文

即使没有人在监听,JavaScript事件也会一直执行吗?

如何解决《即使没有人在监听,JavaScript事件也会一直执行吗?》经验,为你挑选了1个好方法。

即使没有连接侦听器,JavaScript中的事件也会被触发吗?

让我们说"mousemove",我移动鼠标,但整个应用程序中没有监听器,浏览器是否仍构建一个新事件并触发它,或者它会优化并考虑如果没有事件监听器,只需忽略数据.

我假设每个浏览器的工作方式不同,我假设他们使用像观察者那样的模式,但是有什么不是,但有没有说明它应该如何?



1> aug..:

如果您觉得这不正确,请随意下载,但根据我的理解并根据DOM Level 2 Events Spec,有一种感觉,事件总是被构建和执行但是听众需要在那里,当然,实际注册它们.

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

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

因此,如果动态添加事件侦听器,则需要有一种方法让页面知道注册和监听它们.每个浏览器如何处理这个问题可能与上面提到的@JAAulde不同,但我不认为浏览器会针对事件监听器存在或不存在或至少没有任何激烈的事实进行优化.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有