我正在尝试为具有相对大小的div设置调整大小的侦听器。 div上具有height: 100%
样式,我希望在div的像素高度随其父容器而变化时触发该事件。这是我的基本代码:
<html>
<body>
<div class="foo"></foo>
</body>
</html>
.foo {
background-color: blue;
height: 100%;
width: 100%;
}
html, body {
height: 100%;
width: 100%;
}
document.querySelector(".foo").addEventListener("resize", () => {
console.log("foo resize");
});
window.addEventListener("resize", () => {
console.log("window resize");
});
调整窗口大小时,会在控制台中获得预期的“窗口调整大小”文本,但从未打印“ foo调整大小”。要让foo调整大小处理程序启动,还需要做其他事情吗?
答案 0 :(得分:1)
resize
事件仅在window
对象上触发。正在制作ResizeObserver
,可以观察任意元素的大小调整,但是browser support仍然很稀缺。但是,有resize-observer-polyfill on NPM之类的polyfill可以模拟其行为。