我对这个有点难过。
我将如何关闭移动/平板电脑(<768px)的以下代码并为桌面(>786px)打开它?
Github:
https ://github.com/robspangler/jquery-snappoint
演示:
http ://robspangler.com/git/jquery-snappoint/demo/demo.html
一个正确方向的点将不胜感激。
我对这个有点难过。
我将如何关闭移动/平板电脑(<768px)的以下代码并为桌面(>786px)打开它?
Github:
https ://github.com/robspangler/jquery-snappoint
演示:
http ://robspangler.com/git/jquery-snappoint/demo/demo.html
一个正确方向的点将不胜感激。
您基本上要求的是一种撤消相关插件所做的任何事情的方法。这在查询中转化为:
enquire.register("(min-width:768px)", {
match : function() {
//apply the plugin
},
unmatch : function() {
//undo whatever the plugin did
}
}, true);
最后true
告诉inquiry 始终认为这是对无能力浏览器的匹配。这样,旧的 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);
注意:有问题的插件没有命名它附加的事件处理程序,所以我们不得不有点笨拙并关闭所有调整大小事件处理程序。这最终意味着我们在这里所做的可能会影响其他插件的行为。
如果由于某种原因我的建议不起作用(并且根据上面的注释),您应该考虑向插件作者提出问题:
希望有帮助。