Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在android+;电话鸿沟环境?_Javascript_Html_Cordova_Touch - Fatal编程技术网

Javascript 如何在android+;电话鸿沟环境?

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

平台目标-安卓4.0及以上版本

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

在我的应用程序中,在上面的环境下,我想要一个弹出菜单,它只不过是一个
,当用户触摸按钮时,它正好在按钮顶部上方几个像素处出现。到目前为止,我已经解决了这个问题:

<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