【问题标题】:Difference between matchmedia and enquire jsmatchmedia和inquire js的区别
【发布时间】:2013-10-09 01:59:35
【问题描述】:

首先,我想强调一下,我是 javascript 编程的新手,并且正在尝试从这里尽可能多地学习。阅读查询 js api、文档以及源代码。我想知道查询js和常规使用matchmedia和resize事件监听器有什么区别。

查询链接js:http://wicky.nillia.ms/enquire.js/

感谢任何贡献

【问题讨论】:

    标签: javascript enquire.js matchmedia


    【解决方案1】:

    在此处询问作者 :) 我偶尔会留意在 SO 上提出的有关它的问题,以便提供帮助。

    没有区别,查询是建立在 matchMedia之上的。因此,一个更相关的问题可能是“inquire 提供了什么超越 matchMedia API?”

    询问,最基本的是 matchMedia API 的简单包装。它的目标是消除您经常使用 matchMedia 编写的样板代码(它本身并不是一个非常好的 API)。它还为处理媒体查询提供了更多完整的生命周期:设置(可以选择延迟)、匹配、取消匹配、销毁。您必须自己处理所有这些,而无需询问。此外,它还简化了注销媒体查询并为旧版浏览器提供了一个陷阱门,shouldDegrade

    换句话说,在 JS 中使用 MQ 做相当高级的事情时,查询是很好的。否则,您可以只使用原始的 matchMedia API——我绝对推荐它用于简单的东西。如果你走这条路,绝对不要使用调整大小事件,因为你必须将逻辑放入去抖动事件等,它会很快变得复杂!而是使用浏览器的原生 MediaQueryList.addListener:

    matchMedia("screen and (min-width:40em)").addListener(function(mql) {
       if(mql.matches) {
            // do something when matching
       }
       else {
            // do soemthing when no match
       }
    });
    

    希望能为你解决问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-11
      • 2021-05-27
      • 2017-03-18
      • 2019-03-12
      相关资源
      最近更新 更多