我曾经依赖
var supportsTouch = 'ontouchstart' in document;
Run Code Online (Sandbox Code Playgroud)
测试移动和桌面浏览器中的触摸支持.基于该测试,我将eventListeners绑定到click或touch事件.这适用于所有当前浏览器版本,但Chrome Canary(24.0.1275.0 canary)的最新更新,当然DEV版本未通过此测试.
我检查了当前的modernizr测试,但也返回了误报,这意味着它表明即使该功能被禁用,chrome也支持触摸.
我目前的解决方法是首先测试任何类型的移动浏览器,并且仅当返回肯定时使用上述测试来检查触摸.缺点是你不能在chrome的开发工具中使用方便的"模拟触摸事件"选项.想法?