使用 Javascript 检测触摸屏设备
2022-08-30 04:31:13
在Javascript/jQuery中,如何检测客户端设备是否有鼠标?
我有一个网站,当用户将鼠标悬停在项目上时,它会向上滑动一个小信息面板。我正在使用jQuery.hoverIntent来检测悬停,但这显然不适用于iPhone / iPad / Android等触摸屏设备。因此,在这些设备上,我想还原以点击以显示信息面板。
在Javascript/jQuery中,如何检测客户端设备是否有鼠标?
我有一个网站,当用户将鼠标悬停在项目上时,它会向上滑动一个小信息面板。我正在使用jQuery.hoverIntent来检测悬停,但这显然不适用于iPhone / iPad / Android等触摸屏设备。因此,在这些设备上,我想还原以点击以显示信息面板。
var isTouchDevice = 'ontouchstart' in document.documentElement;
注意:仅仅因为设备支持触摸事件并不一定意味着它完全是触摸屏设备。许多设备(例如我的华硕Zenbook)同时支持点击和触摸事件,即使它们没有任何实际的触摸输入机制。在设计触摸支持时,请始终包括单击事件支持,并且永远不要假设任何设备都是独占的。
找到窗口测试。触摸在Android上不起作用,但这样做:
function is_touch_device() {
return !!('ontouchstart' in window);
}