如何通过JavaScript 将onload事件侦听器添加到<body>HTML文档中的元素(或其他合适的近顶层元素)?
我想要达到以下相同的行为:
<body onresize="handleResize();">
...
</body>
Run Code Online (Sandbox Code Playgroud)
(即,当页面调整大小时,该功能应运行)
但是我想用JavaScript添加事件监听器
(function() {
//effectively private because it's in the closure
function handleResize() {
//do stuff here
}
element.addEventListener("resize",handleResize);
})(); //IIFE
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是我不知道如何获取适当的元素来附加事件。
我尝试了这个:
document.documentElement.addEventListener("resize",handleResize);
Run Code Online (Sandbox Code Playgroud)
和这个:
document.body.addEventListener("resize",handleResize);
Run Code Online (Sandbox Code Playgroud)
但是在两种情况下,该handleResize函数都不会被调用。
如何访问适当的顶层或近顶层元素?
使用window元素。
window.addEventListener("resize",handleResize,0);
Run Code Online (Sandbox Code Playgroud)