在我的HTML中:
<body onresize="doSomething();">
我在javascript中有这个:
function doSomething() {
alert(1);
// it doesn't actually have alert(1), but this is just for demonstration
}
当我调整浏览器窗口大小(通过双击其标题)时,事件在IE8中触发两次,从而弄乱了该功能。
有谁知道为什么以及如何避免它? 提前谢谢!
答案 0 :(得分:3)
您会发现,如果您通过在右下角的拖动区域随机移动来“调整”浏览器窗口周围,onresize
事件会反复触发。
关键是,它是相当有争议的,是什么构成窗口调整大小。您必须接受,浏览器和操作系统之间存在很大差异。
要处理的Recipies包括取消设置,然后在resize事件上设置计时器(window.setTimeout
)并在计时器触发时进行真正的调整大小工作。
如果你的onresize
不是太贵,你应该以某种方式创建它,而不是重复调用。
答案 1 :(得分:2)
这是Window resize event fires twice in jQuery的副本。 调整窗口大小时会触发onresize事件,但可以多次触发。