当前位置: 首页 > 面试题库 >

媒体查询以检测设备是否为触摸屏

林弘壮
2023-03-14
问题内容

在不使用触摸屏设备的情况下,使用媒体查询最安全的方法是什么?如果无法解决,您是否建议使用JavaScript解决方案,例如!window.TouchModernizr或Modernizr?


问题答案:

我建议使用modernizr并使用其媒体查询功能。

if (Modernizr.touch){
   // bind to touchstart, touchmove, etc and watch `event.streamId`
} else {
   // bind to normal click, mousemove, etc
}

但是,使用CSS时,存在伪类,例如Firefox。您可以使用:-moz-system-metric(touch-
enabled)。但是,并非所有浏览器都提供这些功能。

对于Apple设备,您可以简单地使用:

if(window.TouchEvent) {
   //.....
}

特别是对于Ipad:

if(window.Touch) {
    //....
}

但是,这些 在Android上不起作用

Modernizr提供了功能检测功能,并且检测功能是一种很好的编码方式,而不是基于浏览器进行编码。

样式触摸元素

为此,Modernizer将类添加到HTML标记中。在这种情况下,touch并且no-touch使您可以通过.touch前缀您选择风格你触摸相关的方面。例如.touch .your-container。鸣谢:Ben Swinburne



 类似资料:
  • 问题内容: 我想指定两种略有不同的背景颜色,一种用于Mac OS,一种用于Windows。 问题答案: 没有用于指定用于查看网页的操作系统的属性,但是您可以使用javascript进行检测,这是一些用于检测操作系统的示例: 知道了吗?,现在您可以编写特定操作系统的下载样式表了。:) 另一个示例,我假设您正在使用jquery。

  • 问题内容: 在Javascript / jQuery中,如何检测客户端设备是否有鼠标? 我有一个网站,当用户将鼠标悬停在某个项目上时,该网站会在信息面板上向上滑动。我正在使用jQuery.hoverIntent来检测悬停,但这显然不适用于iPhone/ iPad / Android等触摸屏设备。因此,在这些设备上,我想还原为点按以显示信息面板。 问题答案: +1,两者兼而有之。另一种方法是使用CS

  • 问题内容: 在JavaScript中,可以使用以下方式检测方向模式: 但是,有没有办法仅使用CSS来检测方向? 例如。就像是: 问题答案: 用于检测屏幕方向的CSS: 媒体查询的CSS定义位于

  • 问题内容: 我想知道是否有可能检测浏览器是否在iOS上运行,这与使用Modernizr进行功能检测的方式类似(尽管这显然是设备检测而非功能检测)。 通常,我宁愿使用功能检测,但我需要根据该问题确定设备是否为iOS,因为它们处理视频的方式YouTube API无法在iPad / iPhone/非Flash设备上使用 问题答案: 我不喜欢User Agent嗅探,但是这是你的处理方式: 另一种方法是依

  • 问题内容: 我试图检测我的sprite节点是否已被触摸并且我不知道从哪里开始。 问题答案: 首先将的属性设置为字符串。 然后在功能上 这是一种方法。 您也可以继承并覆盖其中的内部。 然后做

  • 我想要一些功能,以适用于一个页面时,例如屏幕的最小宽度是1025px和当移动设备水平旋转。 我想要一些功能,以适用于一个页面时,例如屏幕的最小宽度是1025px和当移动设备水平旋转。