Javascript:跟踪触摸事件而不调用.preventdefault()

Javascript: tracking touch events without .preventDefault() call

本文关键字:调用 preventdefault 跟踪 触摸 事件 Javascript      更新时间:2023-09-26

我想在不取消默认行为(滚动页面)的情况下,在任何移动浏览器中跟踪手指。

所以我做了下面的操作:

document.addEventListener('touchmove', function (ev) {
  // fingers position tracking ode
}, false);

现在,如果我想持续跟踪触摸,我必须在该函数中调用ev.preventDefault(),这也会禁用页面的滚动。如果我不调用这个,我只会得到一个touchmove事件被触发,之后我可以移动我的手指,无论我想要多长时间,-没有其他的touchmove事件会跟随(直到我释放我的手指并再次开始一个新的触摸/移动序列)。

我的问题基本上是:我如何持续跟踪屏幕上的手指(绑定到浏览器的"窗口"),而不干扰默认的浏览器行为。我想相信这是可能的

不幸的是,您最好的选择是自己接管滚动。幸运的是有一个插件http://cubiq.org/dropbox/iscroll4/examples/simple/