我编写了一个jQuery插件,可以在桌面和移动设备上使用.我想知道是否有一种方法可以检测设备是否具有触摸屏功能.我正在使用jquery-mobile.js来检测触摸屏事件,它可以在iOS,Android等上运行,但我也想根据用户的设备是否有触摸屏来编写条件语句.
那可能吗?
是否有任何漂亮和干净的方法或技巧,以确定用户是否在触摸设备上?
我知道有类似的东西
var isiPad = navigator.userAgent.match(/iPad/i) != null;
但我只是想知道是否有一个技巧来确定用户是否在Touch设备上?因为有更多的触摸设备和平板电脑,那么只有iPad.
谢谢.
单击默认弹出窗口触发器选项.但是我需要改变它来悬停.它可以这样做:
$("#popover").popover({ trigger: "hover" });
Run Code Online (Sandbox Code Playgroud)
但这对智能手机没有意义.用户无法读取悬停触发的弹出窗口.
对于我网站的" div "部分,我使用" visible-desktop "或"hidden-desktop".你可以提供一个很好的方法来触发popover与悬停 - 桌面触发弹出与点击智能手机/平板电脑.(我使用bootstrap 2.3.1)
让我们假设我有一个网页,其中有一些onmouseover javascript行为来下拉菜单(或类似的东西)
显然,这不适用于iPad或智能手机等触控设备.
如何检测浏览器是否支持onmouseover或onmouseout等悬停事件以及CSS中的hover伪标记?
注意:我知道如果我对此感到担心,我应该以不同的方式编写它,但我很好奇是否可以进行检测.
编辑:当我说"支持悬停事件"时,我的意思是"浏览器是否有有意义的悬停事件表示".如果硬件支持它但软件不支持(反之亦然),则没有有意义的表示.除了一些即将推出的技术,我认为任何触摸设备都没有有意义的悬停事件表示.
在我正在构建的网站上,我有一组导航按钮需要很大才能看起来很好并且易于点击,但是当用户不导航时需要很小.因此,在我的UI中,我将按钮缩小到缩略图,并在鼠标悬停时将其设置为完整大小.这很好用.
但是在平板电脑上,没有鼠标,没有鼠标悬停,所以我需要另一种让用户导航的机制.我想让用户点击缩略图,然后展开完整的导航按钮栏,然后用户可以点击导航.
问题是:如何判断用户是否在没有鼠标的情况下进行浏览?我想我可以浏览器检测到,但这看起来真的很脆弱.
或者,有人可以指出我对这种情况更好的UI设计模式吗?