我对这一点感到有点难过。
如何关闭移动设备/平板电脑的以下代码(< 768px)并将其打开以用于桌面设备(> 786px)?
Github上:
https://github.com/robspangler/jquery-snappoint
演示:
http://robspangler.com/git/jquery-snappoint/demo/demo.html
非常感谢正确方向上的一点。
答案 0 :(得分:0)
你基本上要求的是一种撤消所讨论插件所做的任何事情的方法。在查询中转换为:
enquire.register("(min-width:768px)", {
match : function() {
//apply the plugin
},
unmatch : function() {
//undo whatever the plugin did
}
}, true);
最后的true
告诉我们始终认为这是无能为力的浏览器的匹配。那样旧的IE等将始终获得桌面版本,而其他人都行为正常。请参阅此处的“移动优先”部分:http://wicky.nillia.ms/enquire.js/#delving-deeper了解更多信息
因此,查看该插件时,它不会提供关闭/撤消其行为的API(使用jQuery插件的常见主题)。值得庆幸的是,它似乎唯一能做的就是为窗口滚动事件附加一个监听器。所以你应该能够做到这一点:
enquire.register("(min-width:768px)", {
match : function() {
$(".whatever").snapPoint();
},
unmatch : function() {
$(window).off("resize");
}
}, true);
注意:有问题的插件没有命名它附加的事件处理程序,所以我们被迫有点笨拙并关闭所有resize事件处理程序。这最终意味着我们在这里所做的事情可能会影响其他插件的行为。
如果由于某种原因我所建议的不起作用(根据上面的注释),你应该考虑将插件作者的问题提出来:
希望有所帮助。