Chrome matchMedia侦听器在调整大小时触发两次

时间:2015-02-18 11:46:57

标签: javascript responsive-design media-queries matchmedia

我的代码中有以下函数,我想在设备窗口/视口宽度小于768px时触发一个函数。此函数在页面加载时触发(因此在侦听器外部进行查询),在Chrome中进行测试期间,我发现侦听器在调整大小时触发两次,首先返回false,然后返回true。尽管事实上窗口/视口的宽度从未降至768px以下。在Firefox中进行相同的测试时,它似乎表现正常。

有没有其他人经历过这个,如果有的话,你的解决方案是什么?

var mql = window.matchMedia("(min-width: 768px)");

if (!mql.matches) {
    myFunction();
};

mql.addListener(function(device) {
    if(!device.matches) {
        myFunction();
    }
});

N.B。在Chrome中,我在“设备模式”中选择“Apple iPad 3/4”进行测试,在Firefox中我使用的是“响应式设计视图”,运行速度为768x1024

0 个答案:

没有答案