如何在android + phonegap环境中获取触摸坐标?

时间:2013-04-04 05:28:38

标签: javascript html5 cordova touch

平台目标 - android 4.0及更高版本。

环境 - 使用phonegap的html5 + css3 + javascript

在我的应用程序中,在上面的环境中,我想要一个弹出式菜单,它只是一个<div>,当用户触摸它时,会出现一个按钮顶部正上方的几个像素。直到现在我已经解决了这个问题:

<head>
<script type="text/javascript" charset="utf-8">

         var touchme=document.getElementById('#button');
         function onDeviceReady(){

                   touchme.addEventListener('touchstart',onNav, false);
         }
         function onNav() {

                popup=document.querySelector("#divPop");
                popup.style.display="block"; //this will make a popup appear
                touchme.getBoundingClientRect();
                navigator.notification.alert(touchme.top);
         }
</script>
</head>

现在的问题是,即使是警报也没有出现。那么我如何获得按钮的坐标?

1 个答案:

答案 0 :(得分:3)

首先,在加载DOM后尝试该代码 - 您的脚本位于<head>标记中,并且您试图先发制人地访问元素#button

var touchme = null;
function onDeviceReady(){
    touchme = document.getElementById('#button');
    touchme.addEventListener('touchstart',onNav, false);
}

window.addEventListener("DOMContentLoaded", onDeviceReady, false);

关于坐标,请查看事件的screenX和screenY属性(传递给onNav)。要查找的属性与常规鼠标单击的属性基本相同。

function onNav(e) {
    alert(e.screenX + ' ' + e.screenY);
}