我的代码中有以下函数,我想在设备窗口/视口宽度小于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