鉴于此代码:
mql = window.matchMedia("(max-width: 800px)");
mql.addListener(mqlHandler);
function mqlHandler(mql) {
if(mql.matches) {
alert('OK');
};
还有这个其他代码:
if(Modernizr.mq("(max-width: 800px)")) {
alert('OK');
};
该matchMedia
版本按预期工作,当屏幕尺寸小于 800 像素时,它会弹出警报,无论我调整页面大小多少次,但是,当我重新加载屏幕宽度较小的页面时,第二个只会弹出警报大于 800 像素,如果在此之后调整屏幕大小,则不会显示任何警报。
我从 de Modernizr 文档中读到了这篇文章,“将根据当前状态评估最大宽度或方向查询,这可能会在以后发生变化。” 这是指这种特殊行为还是代码有问题?