使用touchmove进行假滚动

时间:2016-05-04 17:57:46

标签: javascript touch

我正在尝试滚动仅支持触摸事件的给定页面但我无法使其正常工作。我正在使用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。

0 个答案:

没有答案