0

平台目标 - android 4.0 及以上。

环境 - html5+css3+javascript 使用 phonegap

在上述环境下的我的应用程序中,我想要一个弹出菜单,<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>

现在的问题是,甚至警报都没有出现。那么我将如何获得按钮的坐标呢?

4

1 回答 1

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);
}
于 2013-04-04T05:37:39.413 回答