我编写了一些 jquery 来调整元素大小,并在调整浏览器窗口大小时关闭页面上所有打开的弹出窗口:
addEvent({
target: window,
eventListener: 'onresize',
func: function (e) {
resizeElements(); //This resizes loads of stuff
closeAllPopups(); //Closes any open popups
}
});
这在 100% 缩放时效果很好。但是,在缩放级别低于 90% 时,即使窗口尚未调整大小,onresize 也会不断被调用。结果是弹出窗口不会打开 - 它们会立即关闭。
这似乎只发生在 IE8 上。它在 Chrome 上运行良好。
有什么想法为什么会发生这种情况吗?这只是 IE8 的错误吗?谁能建议修复或解决方法?
最佳答案
检查窗口原始大小和调整大小,然后尝试调用您的函数怎么样?
那么,即使您在加载时处于 90% View ,此窗口大小也将是原始大小,并且只有当您调整大小(在 90% View 下)时,才会调用您的函数?
$(document).ready(function(){
var original_width = $(window).width();
var original_height = $(window).height();
$(window).resize(function() {
var resize_width = $(window).width();
var resize_height = $(window).height();
if(original_width != resize_width && original_height != resize_height){
alert('You resized!');
// resizeElements(); //This resizes loads of stuff
// closeAllPopups(); //Closes any open popups
}
});
});
关于javascript - 为什么 onresize 在 IE8 中不应在低缩放级别下触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16810910/