Я назначил тайм-аут своему обработчику 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 миллисекунд.
Есть идеи, почему или как остановить это поведение? Я бы действительно не стал называть свой код изменения размера для каждого события изменения размера, которое запускается при одном изменении размера, но это хуже.