我已经编写了一个可在台式机和移动设备上使用的jQuery插件。我想知道JavaScript是否可以检测设备是否具有触摸屏功能。我正在使用jquery- mobile.js来检测触摸屏事件,它可以在iOS,Android等系统上运行,但我也想根据用户设备是否具有触摸屏来编写条件语句。
那可能吗?
更新: 在将整个功能检测库引入项目之前,请阅读下面的blmstr答案。检测实际的触摸支持更为复杂,而Modernizr仅涵盖一个基本用例。
Modernizr是一种出色的轻量级方法,可在任何站点上执行各种功能检测。
它只是将类添加到每个功能的html元素中。
然后,您可以在CSS和JS中轻松定位这些功能。例如:
html.touch div { width: 480px; } html.no-touch div { width: auto; }
和Javascript(jQuery示例):
$('html.touch #popup').hide();