Javascript phonegap-菜单按钮不会触发任何东西
我有以下代码来测试菜单按钮:Javascript phonegap-菜单按钮不会触发任何东西,javascript,android,cordova,Javascript,Android,Cordova,我有以下代码来测试菜单按钮: <script type="text/javascript" cahrset="utf-8"> //wait till device is ready document.addEventListener("deviceready", onDeviceReady(), false); //add a menu button event handler function onDeviceReady() { alert('devic
<script type="text/javascript" cahrset="utf-8">
//wait till device is ready
document.addEventListener("deviceready", onDeviceReady(), false);
//add a menu button event handler
function onDeviceReady() {
alert('deviceready');
document.addEventListener("menubutton", onMenuKeyDown(), false);
}
//fired when menubutton of device is clicked
function onMenuKeyDown() {
alert('menu key down');
}
</script>
我从开始学习本教程,但它似乎无法处理我的菜单按钮按下。
有什么帮助吗?谢谢你,丹尼尔
编辑:也许这有助于您了解发生了什么:当我按下菜单按钮时,logcat显示
10-18 09:21:52.560: WARN/WindowManager(152): statePower =normal
此外,事件“searchbutton”也不起作用从我所看到的情况来看,它似乎是听众的问题。通过在函数名的末尾添加括号,您可以在设置侦听器时立即调用函数,而不是为稍后触发的事件设置引用 尝试: 以及:
希望这有帮助 在我看来,这似乎是听众的问题。通过在函数名的末尾添加括号,您可以在设置侦听器时立即调用函数,而不是为稍后触发的事件设置引用 尝试: 以及:
希望这有帮助 检查你的身体标签。确保它调用onload()函数。像这样:
<body onload="onLoad()">
检查你的身体标签。确保它调用onload()函数。像这样:
<body onload="onLoad()">
好的,这个对我有好处
var menuOpen = true;
var menuDiv = "";
function onLoad(){
document.addEventListener("deviceready", onDeviceReady, false);
menuDiv = document.querySelector("#menu");
}
function onDeviceReady(){
document.addEventListener("menubutton", onMenuKeyDown, false);
}
function onMenuKeyDown() {
if(menuOpen) {
console.log("close the menu");
menuDiv.style.display="none";
menuOpen = false;
} else {
console.log("open the menu");
menuDiv.style.display="block";
menuOpen = true;
}
}
好的,这个对我有好处
var menuOpen = true;
var menuDiv = "";
function onLoad(){
document.addEventListener("deviceready", onDeviceReady, false);
menuDiv = document.querySelector("#menu");
}
function onDeviceReady(){
document.addEventListener("menubutton", onMenuKeyDown, false);
}
function onMenuKeyDown() {
if(menuOpen) {
console.log("close the menu");
menuDiv.style.display="none";
menuOpen = false;
} else {
console.log("open the menu");
menuDiv.style.display="block";
menuOpen = true;
}
}
var menuOpen = true;
var menuDiv = "";
function onLoad(){
document.addEventListener("deviceready", onDeviceReady, false);
menuDiv = document.querySelector("#menu");
}
function onDeviceReady(){
document.addEventListener("menubutton", onMenuKeyDown, false);
}
function onMenuKeyDown() {
if(menuOpen) {
console.log("close the menu");
menuDiv.style.display="none";
menuOpen = false;
} else {
console.log("open the menu");
menuDiv.style.display="block";
menuOpen = true;
}
}