添加listener到matchMedia.js polyfill问题

时间:2013-06-22 18:39:01

标签: listener polyfills matchmedia

我正在使用https://github.com/paulirish/matchMedia.js/以及侦听器扩展,但是,我不知道如何为下面的匹配媒体查询编写侦听器。任何援助都是非常有必要的。

JS:

if (matchMedia("(min-width: 52em)").matches) {
  $("details").attr("open", "open");
}

1 个答案:

答案 0 :(得分:2)

var handleMyMediaQuery = function(mql) {
        if (mql.matches) {
            // do match actions
        } else {
            // do unmatch actions
        }
    },
    myMediaQuery = window.matchMedia('(min-width: 52em)');

handleMyMediaQuery(myMediaQuery);
myMediaQuery.addListener(handleMyMediaQuery);

首次使用'handleMyMediaQuery'立即检查媒体查询的匹配,第二个'myMediaQuery.addListener(handleMyMediaQuery)'在媒体查询匹配时触发,然后在媒体查询不匹配时再次触发。

希望这是有道理的。