javascript - 如何通过 JavaScript 向 body 元素添加事件监听器?

标签 javascript dom

如何添加 onload <body> 的事件监听器通过 JavaScript 在 HTML 文档中添加元素(或其他一些合适的接近顶级元素)?

我想实现与此相同的行为:

<body onresize="handleResize();">
   ...
</body>

(即,当页面调整大小时,该函数应该运行)

但我想像这样用 JavaScript 添加事件监听器
(function() {
  //effectively private because it's in the closure
  function handleResize() {
    //do stuff here
  }
  element.addEventListener("resize",handleResize);
})(); //IIFE

我遇到的问题是我不知道如何获取适当的元素来附加事件。

我试过这个:
document.documentElement.addEventListener("resize",handleResize);

和这个:
document.body.addEventListener("resize",handleResize);

但在这两种情况下,handleResize函数永远不会被调用。

如何访问适当的顶级或近顶级元素?

最佳答案

使用窗口元素。

window.addEventListener("resize",handleResize,0);

关于javascript - 如何通过 JavaScript 向 body 元素添加事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29566602/

相关文章:

javascript - 如何通过 javascript 使谷歌地图地理编码器超时?

javascript - 必须多次运行 gulp 才能获得样式更改

javascript - 未找到错误: DOM Exception 8 on insertBefore in event listener

javascript - 如何在TextBox中创建图案?

javascript - Lodash 中 curry 和 curryRight 的区别

javascript - PhantomJS - 获取元素计算样式

javascript - 如何使用 DOM 正确地将幻灯片 Controller 插入到 div 中

javascript - 如何为每个没有唯一 id 的按钮表设置 EventListener?

javascript - Reactjs:未捕获类型错误:无法设置 null 的属性 'innerHTML'

javascript - JQuery DatePicker +1 天