javascript - 为什么 onresize 在 IE8 中不应在低缩放级别下触发?

标签 javascript jquery internet-explorer-8 zooming onresize

我编写了一些 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/

相关文章:

javascript - 谷歌地图集群不工作

jquery - Chrome 中最奇怪的错误,与重绘有关?

javascript - 将json结构转换为jquery angularjs中的嵌套json结构

javascript - Internet Explorer 8 看不到上层变量

css - 这个 nth-child 选择器在 IE 8 中如何工作?

javascript - 使用 JavaScript 访问 DLL

javascript - 检查警报框中单击“确定”按钮

javascript - 有没有办法等待加载网站的 dom(不是完整的网页)?

javascript - 如何测试渲染时间(不是 DomContentLoaded 也不是 onLoad)?

javascript - 如何在 IE8 中检查未定义的值?