这可能是大多数阅读的基础,但我似乎无法弄清楚。
我有一个小测试功能,如果在一定宽度下我想执行。当屏幕旋转或调整大小超过该宽度时,我希望该功能停止工作。为简单起见,这里是一些示例代码。
enquire.register("screen and (max-width:500px)",{
match : function() {
$(".block .block-title").click(function(){
alert("Hello World!");
});
}
}).listen();
因此,如果页面加载超过 500 像素,它会按预期工作。点击不会执行。如果页面在 500px 或以下加载,则执行 click 函数。唯一的问题是,如果您调整视口大小或将方向更改为 500 像素以上,该函数仍会执行。我希望能够禁用它。
我实际上在这里尝试做的真实世界场景是我有一个包含 4 个项目的无序列表。超过一定宽度时,它们会立即显示。如果在一定宽度下,我只想隐藏它们并单击显示它们。我知道有几种方法可以做到这一点(.toggle()、.toggleClass("myclass") 等)。
我已经这样做了很多次,但我总是被进入/退出断点和事情没有被重置,或者按预期工作。通常它并不重要,但最近在我的一些用例中它很重要。
我知道 unmatch 选项,但我不确定如何真正杀死上面匹配的函数。
enquire.register("screen and (max-width:500px)",{
match : function() {
$(".block .block-title").click(function(){
alert("Hello World!");
});
},
{
unmatch : function() {
// what do I do here do kill above?
}
}
}).listen();
任何帮助,将不胜感激。我很确定它会帮助我目前的情况,但也会帮助我扩展我对 enquire.js 的了解以用于其他事情。
谢谢。
编辑:我忘了提...如果您将页面加载到 500 像素以下,然后调整大小或将其定向更宽然后 500 像素,然后在 500 像素以下返回,点击功能将无法再次工作..这也让我感到困惑。我基本上希望它在低于 500 像素时无论如何都能工作,而在超过 500 像素时根本不起作用。