将事件侦听器附加到整个html文档的最佳方法

让我们考虑捕获mousemove整个HTML文档的问题。

我知道可以将事件侦听器附加到四个对象:

windowdocumentdocument.bodydocument.documentElement

经过简单的测试,在我看来,附加到任何一个上都具有相同的效果。

$(window).on('mousemove', function(){console.log(1)})

我想知道是否有我不知道的差异(性能,兼容性?)

古法

将事件绑定到document.body对象有两个潜在的问题

  • 某些浏览器不允许在开始解析页面中的内容之前访问body对象,因此将事件直接绑定到头部是行不通的。您需要通过loadready事件或体内的代码将其绑定

  • 在符合标准的模式(HTML 4,XHTML,HTML5)中,body元素不会自动覆盖整个窗口。如果它的边距没有被body元素覆盖,则它将仅包含需要容纳的内容的大小。

另外,如果页面包含框架,则此方法将无效。在这种情况下,请按照此处说明的步骤进行操作

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将事件侦听器附加到整个html文档的最佳方法

将异步侦听器附加到单击事件

将事件侦听器附加到UWP中的MotionAnimation

将事件侦听器附加到FOR循环内的对象

使用纯JavaScript,是否有简单的方法将事件侦听器附加到类?

使用纯JavaScript,是否有简单的方法将事件侦听器附加到类?

Hashchange事件侦听器在将事件处理程序附加到事件之前进行侦听

将侦听器附加到 scrollController

如何检查是否有附加到元素/文档的JavaScript事件侦听器/处理程序?

如何使用事件委托而不是将事件侦听器分别附加到每个项目?

计算附加到 firestore 文档的侦听器数量

如何/何时将事件侦听器附加到d3.js中?

JavaFX将事件侦听器附加到颜色为黑色的圆圈

使用 Adobe 扩展脚本将事件侦听器附加到应用程序项目中

将事件侦听器附加到 Microsoft.IdentityModel.Logging

如何将拖放事件侦听器附加到React组件

Angular 指令,无法将事件侦听器附加到元素

使用addEventListener获取附加到节点的事件侦听器

修改HTML标签而不丢失附加的事件侦听器

将 evt 侦听器附加到动态创建的类

如何将侦听器附加到单选按钮

将侦听器附加到多个子元素

将DOMContentLoaded侦听器附加到动态创建的窗口

将侦听器附加到android视图的某些部分

Firebase将侦听器附加到Query对象

如何将侦听器附加到克隆的元素?

将进度侦听器附加到列表中对象的正确方法

处理多个事件侦听器的最佳方法

如何将事件侦听器添加到动态创建的HTML列表元素?