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;
                }
}