在jsdom命令行界面中运行以进行单元测试。

const event = new window.TouchEvent('touchstart');



为什么这不起作用?
根据此MDN列表,它应该通过构造函数工作。

这很好用:
const event = new window.MouseEvent('mousemove');

这也可以,但是不建议使用:
const event = document.creatEvent('touchstart');

最佳答案

@马丁马扎道森

像您提到的那样不推荐使用createEvent方法。只要传递到方法中的事件在列表中,您仍然可以使用document.createEvent。这是可以传递给createEvent方法的事件类型的列表。
https://developer.mozilla.org/en-US/docs/Web/API/Document/createEvent

指定的列表中不存在'touchstart'事件类型。我相信您指的是“ontouchstart”,它是一种可以在DOM中存在的单个元素上执行的方法。可以在此处找到有关ontouchstart的文档。
https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/ontouchstart

我希望这能够帮到你。祝你有美好的一天。

关于javascript - TouchEvent非法构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42543645/

10-11 13:46