0

このコードを考えると:

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バージョンは期待どおりに動作し、ページのサイズを何度変更しても、画面のサイズが 800px 未満の場合はアラートが表示されますが、2 番目のバージョンでは、画面幅が小さいページをリロードするとアラートが表示されますその後画面のサイズを変更すると、アラートは表示されません。

これを de Modernizr docs から読みました。「最大幅または方向のクエリは、後で変更される可能性がある現在の状態に対して評価されます。」これはこの特定の動作を指していますか、それともコードに何か問題がありますか?

4

1 に答える 1