在我的 Android 应用程序中,用户可以使用 ViewPager 浏览一些 HTML 页面,用户可以触摸一个元素来突出显示。
问题是当尝试使用以下代码使用 javascript 获取触摸事件时,elementFromPoint 在导航到新页面时返回 null,但在用户缩放页面或在页面上滚动后,它可以正常工作。
我发现 touchstart 事件的注册发生在缩放或滚动页面之后。所以它在那之后就可以工作,尽管它是在 $(document).ready() 上注册的
$(document).ready(function(){
document.addEventListener("touchstart", touchstart, false);
});
function touchstart(e) {
var x = e.targetTouches[0].clientX;
var y = e.targetTouches[0].clientY;
el = document.elementFromPoint(x, y);
}
谢谢
最佳答案
在调用 javascript 后在您的 java 代码中编写下一段代码:
myWebview.scrollTo(1, 0);
myWebview.scrollTo(0, 0);
或者先放大再缩小
myWebview.zoomIn();
myWebview.zoomOut();
关于javascript - 安卓-JavaScript : touchstart event not fired until zoom or scroll the page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14477550/