在CSS中使用Media Query已经变得家常便饭,但如果需要JavaScript参与到这一过程中,则不是非常容易了。好在我们现在有了enquire.js。
实际上标准委员会已经在JavaScript中开始筹备与Media Query相关的方法,那就是matchMedia()
。但这一API的使用比较繁琐,因此如果使用enquire.js,那就能在一定程度上减轻我们的负担。
如何使用
enquire.js的用法比较多,这里只介绍一下最基本的使用方法:
//注册屏幕小于1000px情况时的动作 enquire.register("screen and (max-width:1000px)", [ //match用于进行匹配,enquire.js另外还有其它几个API,如unmatch、setup { match : function() { console.log("handler 1 matched"); } }, { match : function() { console.log("handler 2 matched"); } } ]);
兼容性
由于enquire.js基于matchMedia()
,因此能够工作的浏览器平台非常有限,目前IE9、Opera 12均不支持。具体的兼容情况详见:caniuse.com。
当然,pollyfill还是有的:https://github.com/paulirish/matchMedia.js/。
许可证
enquire.js和大部分JavaScript库一样,遵循MIT协议开源。