javascript - android+phonegap环境下如何获取触摸坐标?

标签 javascript html 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>

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

最佳答案

首先,在加载 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);
}

关于javascript - android+phonegap环境下如何获取触摸坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15803181/

相关文章:

javascript - 如何使用 Cocos2dJS 连接到 Socket.IO 服务器?

javascript - 为什么将方法放在类的原型(prototype)上而不是在构造函数中声明它们?

javascript - 多页面站点中 jQueryMobile/jQuery 的问题

html - Angular Firebase 3 Auth Ui-Router

html - 以编程方式按 NSURLRequest 中的 html 按钮

angularjs - 我无法使用 ionic 自动完成功能

cordova - Kineticjs 和phonegap - 图像无法加载

.net - 创建表 Controller 时 Azure 应用服务移动应用 .Net 后端问题

javascript - Backbone 和 RequireJS 有效加载

javascript - 为分层图像创建可动画的径向蒙版?