Modernizr触屏检测方法
检测设备是否是触屏设备的方法,Modernizr是这样实现的:
// Modernizr现在使用的方法
('ontouchstart' in window)
|| window.TouchEvent
|| window.DocumentTouch && document instanceof DocumentTouch
// Modernizr早期使用的方法
function isTouchDevice() {
try {
document.createEvent('TouchEvent');
return true;
} catch (e) {
return false;
}
}
但是随便在Mac上的Chrome78.0中验证了一下,发现是存在window.TouchEvent的,所以所谓的触屏检测方法其实并不可靠,可以看一下这篇You Can't Detect A Touchscreen。
参考链接:Modernizr源码