Javascript触摸android webview中的事件

问题描述 投票:0回答:1

我有这个javascript code正常工作。它所做的只是保存mousedown的坐标,并根据mousedown和mouseup坐标修改mouseup上的原理图。

我试图在Android应用程序中使用它,而不是重新发明轮子,通过在webview中加载它。

相关的更改是更改mousedown和up监听器:

            canvas.addEventListener("touchstart", saveDownCoords, false);
            canvas.addEventListener("touchend", modifySchematic, false);

并且计算坐标的函数已经改变,所以:

function mouseCoords(e) {
  var cellSize = e.target.getAttribute("data-lib-shelves-cell-size");
  var cellRect = e.target.getBoundingClientRect();
  return {
      //x : Math.floor((e.clientX - cellRect.left) / cellSize),
      //y : Math.floor((e.clientY - cellRect.top) / cellSize)
      x : Math.floor((e.touches[0].clientX - cellRect.left) / cellSize),
      y : Math.floor((e.touches[0].clientY - cellRect.top) / cellSize)
  };
}

除非我触摸几根手指,否则什么都不起作用。然后它执行程序用鼠标做的事情,有时使用第一根手指向下,第二根手指向上;有时第一根手指的向下和向上,但只有在使用第二根手指时,从不只有一根手指。

我没有为webview编写触摸处理程序,也没有编写它所在的活动。

有没有人遇到过这样的行为?

javascript android webview touch-event
1个回答
0
投票

我的问题在于javascript逻辑。一个人无法获得touchend的坐标,但只能获得最后一次触摸的坐标。

© www.soinside.com 2019 - 2024. All rights reserved.