Android - JavaScript:在缩放或滚动页面之前不会触发touchstart事件

Ahm*_*hab 6 javascript android webview touch-event touchstart

在我的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);  
            }
Run Code Online (Sandbox Code Playgroud)

谢谢

小智 7

调用javascript后在java代码中编写下一个代码:

    myWebview.scrollTo(1, 0);
    myWebview.scrollTo(0, 0);
Run Code Online (Sandbox Code Playgroud)

或使用放大然后缩小

    myWebview.zoomIn();
    myWebview.zoomOut();
Run Code Online (Sandbox Code Playgroud)