当窗口最大化或恢复时,$(窗口).resize()或$(窗口).on('resize')不会触发。这些事件还有另一个触发器吗?

问题描述 投票:0回答:1

有趣的是,我无法在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项目中。是否存在可能导致此问题的特定情况?或者除了'调整大小'之外还有其他事件要寻找吗?

javascript jquery
1个回答
0
投票

看起来这是一个非问题,因为resize事件正好被解雇,正如处理程序中的console.log('Resized!');所证明的那样。

实际情况就像竞争条件一样:我的outerWidth()并不总是返回新的,重新计算的值。 (有时他们会,进一步加剧混乱。)

我想知道是否有一个更清洁的解决方案,而不是添加延迟......

© www.soinside.com 2019 - 2024. All rights reserved.