我正在尝试滚动仅支持触摸事件的给定页面但我无法使其正常工作。我正在使用https://news.google.com/来模拟iPad设备进行测试。使用chrome touch仿真,我能够完美地滚动页面上的内容,但是我无法通过调度Touch事件进行滚动。
这是我的示例代码:
var w = document.documentElement.clientWidth;
var h = document.documentElement.clientHeight;
var mw = w / 2;
var mh = h / 2;
var tstart = new Touch({
identifier: 0,
target: document.documentElement,
clientX: mw,
clientY: mh,
screenX: mw,
screenY: mh,
pageX: mw,
pageY: mh,
radiusX: 11.5,
radiusY: 11.5,
rotationAngle: 0,
force: 1
});
document.dispatchEvent(new TouchEvent('touchstart', {
bubbles: true,
touches: [tstart],
targetTouches: [tstart],
changedTouches: [tstart]
}));
for (var i = 0, len = 100; i < len; i+=10)
{
var tmove = new Touch({
identifier: 0,
target: document.documentElement,
clientX: mw,
clientY: mh - i,
screenX: mw,
screenY: mh - i,
pageX: mw,
pageY: mh - i,
radiusX: 11.5,
radiusY: 11.5,
rotationAngle: 0,
force: 1
});
document.dispatchEvent(new TouchEvent('touchmove', {
bubbles: true,
touches: [tmove],
targetTouches: [tmove],
changedTouches: [tmove]
}));
}
非常感谢任何帮助。感谢。
注意:我不是在寻求跨浏览器支持,只是支持Chrome。