Chrome(桌面)触摸模拟不起作用



我写了一个小javascript,并尝试在Windows 10的最新稳定Chrome上调试它(截至编写v48)。

该脚本与鼠标输入完美配合,但是一旦我模拟了带有触摸模拟的移动/触摸设备 - 它不起作用,相应的控制台.logs告诉我没有检测到触摸...

function hasTouch() {
        return 'ontouchstart' in document.documentElement;
}
var event_start = hasTouch() ? 'touchstart' : 'mousedown',
    event_move = hasTouch() ? 'touchmove' : 'mousemove',
    event_end = hasTouch() ? 'touchend' : 'mouseup';
console.log(event_start + "|" + event_move + "|" + event_end);

带有触摸模拟的火狐完美工作!此外,物理触摸设备可以完美地工作。

https://jsfiddle.net/j8kLz6wm/1/

那么Chrome有什么问题呢?

你应该像这样重写你的hasTouch函数:

function hasTouch() {
  return 'ontouchstart' in window;
}

最新更新