2013-02-04 68 views
1

我已经在我的网站一些jQuery的鼠标悬停效果,我需要然而,禁用触摸屏,我怎么知道是什么宽屏幕禁用JQuery的jQuery效果?目前我已经在800像素以下。这适用于ipad肖像,但是当我将其打开时,jQuery再次被激活。我已经读过Ipad横向宽度为1024px,但这也可能是一个小型非触摸屏的尺寸。有什么方法可以指定某些设备的效果而不是屏幕宽度?响应式设计 - 禁用触摸屏

回答

2

要做到这一点,你应该看看工作的其他方式,而不是在事件禁用鼠标触摸设备的增加对非触摸设备的事件。

添加Modernizr到项目中你的工作的(你可能已经知道了在那里)。一旦加入您就可以把它作为一个类的HTML元素包括“触摸”测试

<html class="touch"> 

如果设备具有触摸功能那么一切都将保持原样,但如果设备不具有触摸然后moderizr将隐蔽,从touchno-touch

<html class="no-touch"> 

然后,您可以绑定你的鼠标事件关闭具有类.no-touch

的HTML元素我已经把这样的一个例子中的代码为p恩 - http://rwd.is/VyRl37

这是假设你还在加载jQuery库的所有设备,并决定是否基于对触摸设备的功能加载鼠标。如果您正在寻找有条件加载jQuery的本身,那么你应该看看enquire.js在规定宽度的jQuery加载。

如果你想保留的jQuery其他功能上更小的设备,但想提高性能,你可以看看使用Zepto.js作为一个轻量级替代使用。

最后Response.js也可以让你在特定的断点处调用函数,但是你仍然遇到不知道它是否启用触摸的问题。