本文介绍了在启用触摸的浏览器上创建和触发触摸事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试触发我的javascript中的触摸事件来模拟用户交互以便测试功能。我尝试了以下代码段:
I am trying to fire touch events in my javascript to simulate user interactions for the purpose of testing features. I have tried the following snippet:
try {
var targetElement = document.elementFromPoint(55, 155);
console.log(targetElement);
var evt = document.createEvent('UIEvent');
evt.initTouchEvent('touchstart', true, true);
evt.view = window;
evt.altKey = false;
evt.ctrlKey = false;
evt.shiftKey = false;
evt.metaKey = false;
targetElement.dispatchEvent(evt);
} catch (except){
alert(except);
}
以上代码抛出异常'TypeError:表达式结果'evt.initTouchEvent [undefined]'不是函数。'
The above code throws the exception 'TypeError: Result of expression 'evt.initTouchEvent[undefined]' is not a function.'
有人可以指出我做错了吗?
Can somebody point out what I'm doing wrong?
推荐答案
根据 , TouchEvent
是UIEvent的子类。尝试创建它:
According to w3c touch spec, TouchEvent
is a subclass of UIEvent. Try creating it like:
var evt = document.createEvent('TouchEvent');
这篇关于在启用触摸的浏览器上创建和触发触摸事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!