如何在DOM上触发js创建的触摸事件?

How can I fire js-created touch events on the DOM

本文关键字:创建 触摸 事件 js DOM      更新时间:2023-09-26

作为我正在进行的测试套装的一部分,我正在尝试模拟用户行为。在桌面上,我通过使用document.createEvent来模拟鼠标事件来做到这一点。但是,我无法使浏览器完全模拟触摸事件。

我试了如下:

var ev = document.createEvent('MouseEvents');
var el = document.createElement('div');
ev.initMouseEvent('touchstart');
el.addEventListener('touchstart', function(e){console.log(e, e.touches);},false);
el.dispatchEvent(ev);

但是浏览器从不生成touches集合。我想也许MouseEvents是错误的事件类型,但它是我发现有意义的唯一一个(尝试TouchEvents但显然得到了DOM异常)。

我知道我可能可以模仿这个行为,但我想知道是否有一个真正的方法来创建服装触摸事件

var ev = document.createEvent('TouchEvent');ev.initTouchEvent (touchstart);