我为我的 window.resize 处理程序分配了一个超时,这样我就不会在每次触发 resize 事件时调用我的大量调整大小代码。我的代码如下所示:
<script>
function init() {
var hasTimedOut = false;
var resizeHandler = function() {
// do stuff
return false;
};
window.onresize = function() {
if (hasTimedOut !== false) {
clearTimeout(hasTimedOut);
}
hasTimedOut = setTimeout(resizeHandler, 100); // 100 milliseconds
};
}
</script>
<body onload="init();">
...
etc...
在 IE7(以及可能的其他版本)中,当您执行此操作时,resize 事件似乎会不断触发。更准确地说,它会在每个超时持续时间后触发——在这种情况下为 100 毫秒。
任何想法为什么或如何阻止这种行为?我真的不想为在单个调整大小中触发的每个调整大小事件调用我的调整大小代码,但这更糟。