我正在尝试在HammerJS中手动触发事件,但截至目前我看不到任何进展。此外,这里有链接带你HammerJS文档维基,它是版本1。
有人可以告诉我如何使用HammerJS 2.0手动触发事件吗?
答案 0 :(得分:0)
这就是HammerJS tests触发触摸事件的方式。
function createTouchEvent (name, x, y, identifier) {
var event = document.createEvent('Event');
event.initEvent('touch' + name, true, true);
event.touches = event.targetTouches = [{
clientX: x,
clientY: y,
identifier: identifier || 0
}];
//https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent.changedTouches
event.changedTouches = [{
clientX: x,
clientY: y,
identifier: identifier || 0
}];
return event;
}
function dispatchTouchEvent (el, name, x, y, identifier) {
var event = createTouchEvent(name, x, y, identifier);
el.dispatchEvent(event);
}
你可以例如点击一下:
dispatchTouchEvent(element, 'start', 50, 50);
dispatchTouchEvent(element, 'end', 50, 50);
或平底锅:
dispatchTouchEvent(element, 'start', 50, 50);
dispatchTouchEvent(element, 'move', 70, 50);
dispatchTouchEvent(element, 'end', 70, 50);