0

我对 PhoneGap 中的一些事件有疑问。当我尝试为phonegap-app(在PhoneGap-Build上构建)的暂停和后退按钮事件注册事件侦听器时,无法识别事件。

我的代码如下所示:

function onBackKeyDown() {
    console.log("Back");
}

function onMenuKeyDown() {
    console.log("Menu");
}

function pause() {
    console.log("Menu");
}

function ready(){
    console.log("ready");
    document.addEventListener("pause", pause, false);
    document.addEventListener("backbutton", onBackKeyDown, false);
    document.addEventListener("menubutton", onMenuKeyDown, false);
}
document.addEventListener("deviceready", ready, false);

如果我在 HTC Wildfire 上运行此应用程序,我可以在日志中看到功能就绪(输出完成)。但如果我点击返回或搜索按钮或退出应用程序,则不会调用其他函数。

谁能帮我这个?

谢谢!


我的其余代码如下所示(我只是写了一个小例子来确保我的代码中没有错误......)

主.js:

function onBackKeyDown() {
    console.log("Back");
    alert("Back");
}

function onMenuKeyDown() {
    console.log("Menu");
    alert("Menu");
}

function onMenuSearch() {
    console.log("onMenuSearch");
    alert("onMenuSearch");
}

function pause() {
    console.log("Menu");
    alert("Pause");
}

function onResume(){
    console.log("Resume");
    alert("Resume");
}

function ready(){
    alert("Ready");
    console.log("ready");
    document.addEventListener("pause", pause, false);
    document.addEventListener("backbutton", onBackKeyDown, false);
    document.addEventListener("menubutton", onMenuKeyDown, false);
    document.addEventListener("searchbutton", onMenuSearch, false);
    document.addEventListener("resume", onResume,false);
}

document.addEventListener("deviceready", ready, false);

索引.html

<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title></title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width">
    </head>
    <body>
        <!-- Add your site or application content here -->
        <p>Hello world! This is HTML5 Boilerplate.</p>

        <script src="js/main.js"></script>
    </body>
</html>

正如我已经说过的,我正在使用 PhonegapBuild 在多个平台上构建应用程序,因此我没有将 cordova 脚本集成到我的应用程序中。

谢谢...

4

1 回答 1

0
<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title></title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width">
    </head>
    <body>
        <!-- Add your site or application content here -->
        <p>Hello world! This is HTML5 Boilerplate.</p>

        <script src="js/main.js"></script>
    </body>
</html>
于 2013-03-19T10:46:19.313 回答