Javascript触摸android webview中的事件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript触摸android webview中的事件相关的知识,希望对你有一定的参考价值。
我有这个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逻辑。一个人无法获得touchend的坐标,但只能获得最后一次触摸的坐标。
以上是关于Javascript触摸android webview中的事件的主要内容,如果未能解决你的问题,请参考以下文章
Javascript触摸android webview中的事件
JavaScript触摸和手势事件iPhone和Android
javascript 提供用于从React-Native WebView发送和接收消息的示例实现(使用postMessage / onMessage WebVie)