Javascript 如何在android+;电话鸿沟环境?
平台目标-安卓4.0及以上版本 环境-使用phonegap的html5+css3+javascript 在我的应用程序中,在上面的环境下,我想要一个弹出菜单,它只不过是一个Javascript 如何在android+;电话鸿沟环境?,javascript,html,cordova,touch,Javascript,Html,Cordova,Touch,平台目标-安卓4.0及以上版本 环境-使用phonegap的html5+css3+javascript 在我的应用程序中,在上面的环境下,我想要一个弹出菜单,它只不过是一个,当用户触摸按钮时,它正好在按钮顶部上方几个像素处出现。到目前为止,我已经解决了这个问题: <head> <script type="text/javascript" charset="utf-8"> var touchme=document.getElementById('#but
,当用户触摸按钮时,它正好在按钮顶部上方几个像素处出现。到目前为止,我已经解决了这个问题:
<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>
var touchme=document.getElementById(“#按钮”);
函数ondevicerady(){
touchme.addEventListener('touchstart',onNav,false);
}
函数onNav(){
popup=document.querySelector(#divPop”);
popup.style.display=“block”//这将显示一个弹出窗口
touchme.getBoundingClientRect();
navigator.notification.alert(touchme.top);
}
现在的问题是,即使是警报也没有出现。那么,如何获得按钮的坐标呢?首先,在加载DOM后尝试该代码-您的脚本位于
标记中,并且您正试图先发制人地访问元素#按钮
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);
}
首先,在加载DOM后尝试该代码-您的脚本位于
标记中,并且您正试图先发制人地访问元素#按钮
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);
}
但我从onLoad()调用ondevicerady()函数,onLoad()的调用方式与window.addEventListener(“DOMContentLoaded”,ondevicerady,false)?这是类似的(请参阅)-身体的onload事件也会起作用。问题是var touchme=document.getElementById(“#按钮”)代码>在加载#按钮之前执行。因此,将这一行移到onDeviceReady函数中,您应该会很好。嘿,非常感谢。90%很好,但e.screenX没有显示任何内容。我现在就在后面。你是这样传入事件对象的吗<代码>函数onNav(e)
,或者您可以尝试e.clientX
和e.clientY
或e.pageX
和e.pageY
但我从onLoad()调用ondevicerady()函数,它与window.addEventListener调用的函数相同(“DOMContentLoaded”,ondevicerady,false)?这是类似的(请参阅)-身体的onload事件也会起作用。问题是var touchme=document.getElementById(“#按钮”)代码>在加载#按钮之前执行。因此,将这一行移到onDeviceReady函数中,您应该会很好。嘿,非常感谢。90%很好,但e.screenX没有显示任何内容。我现在就在后面。你是这样传入事件对象的吗<代码>导航功能(e)
,或者您可以尝试e.clientX
和e.clientY
或e.pageX
和e.pageY