如何检测用户窗口调整大小vs window.resizeTo

时间:2013-05-10 18:54:30

标签: javascript jquery

我有一个包含许多字段的窗口,其中一些字段显示/隐藏视图中的其他字段或元素。当发生这种情况时,我调用一个函数来调整窗口大小。

该函数基本上获取体宽和高度,并使用window.resizeTo函数相应调整窗口大小。

现在我被要求添加一项新功能: 如果用户手动调整窗口大小,请停止进一步自动调整大小。

我想我可以收听resize事件,也可以检测window.resizeTo函数何时触发它以及何时被用户触发。

问题是,我还没找到方法......有可能吗?

2 个答案:

答案 0 :(得分:1)

.resize()。但是,如果用户调整窗口大小,我看不到从浏览器获取本机信息的更改。但是我可以想到一个解决方案,当你的函数调整窗口大小*然后在.resize()内部什么都不做的时候设置一个标志。但是如果触发了.resize()但是你的标志没有设置,那么它是由用户触发的。

* =也会在运行调整大小代码后删除该标志。

答案 1 :(得分:0)

您是正确的,使用“调整大小”事件,您可以在用户调整浏览器大小时检测到该事件。 例如:

document.addEventListener("resize", function(){
  alert("resizing!");
}, false);