有趣的是,我无法在Codepen或简单的基本页面中重现问题,如下例所示。此外,通过拖动调整大小时代码工作正常。这就好像最大化和恢复不被视为“调整大小”。
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 10px;
height: 10px;
border: 3px solid red;
}
</style>
</head>
<body>
<div></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>
<script>
$(window).resize(function() {
$("div").outerWidth($("body").outerWidth());
});
</script>
</body>
</html>
问题只发生在我正在研究的WordPress项目中。是否存在可能导致此问题的特定情况?或者除了'调整大小'之外还有其他事件要寻找吗?
看起来这是一个非问题,因为resize事件正好被解雇,正如处理程序中的console.log('Resized!');
所证明的那样。
实际情况就像竞争条件一样:我的outerWidth()
并不总是返回新的,重新计算的值。 (有时他们会,进一步加剧混乱。)
我想知道是否有一个更清洁的解决方案,而不是添加延迟......