我正在写一个tic-tac-toe作为我的第一个使用netbeans的cordova应用程序。
我正在使用jQuery Mobile,而且我设计了粗略的用户界面。
以下是用户界面的来源:
<!--
Menu Page
-->
<div data-role = "page" data-theme="b" id="MenuPage">
<div data-role = "header" data-theme="b">
<h2 class = "Title">Tic-Tac-Toe</h2>
</div>
<div data-role = "main-page" data-theme="b">
<div data-role="controlgroup" data-type="vertical">
<a href="#BoardPage" data-role="button" data-theme="b">Single Player</a>
<a href="#" data-role="button" data-theme="b">Multi Player</a>
<a href="#" data-role="button" data-theme="b">Leader Board</a>
<a href="#" data-role="button" data-theme="b">About</a>
<a href="#" data-role="button" data-theme="b" id="btnExit">Exit</a>
</div>
</div>
</div>
<!--
Board Page
-->
<div data-role="page" data-theme="b" id="BoardPage">
<div data-role="main-page" data-theme="b" id = "tabHolder">
<div data-role="content">
<center>
<div class="ui-grid-b" style="position: absolute; top: 38%; width:100%; margin-left:-1em">
<div class="ui-block-b">
<a data-role="button" id="b1"></a>
</div>
<div class="ui-block-b">
<a data-role="button" id="b2"></a>
</div>
<div class="ui-block-b">
<a data-role="button" id="b3"></a>
</div>
<div class="ui-block-b">
<a data-role="button" id="b4"></a>
</div>
<div class="ui-block-b">
<a data-role="button" id="b5"></a>
</div>
<div class="ui-block-b">
<a data-role="button" id="b6"></a>
</div>
<div class="ui-block-b">
<a data-role="button" id="b7"></a>
</div>
<div class="ui-block-b">
<a data-role="button" id="b8"></a>
</div>
<div class="ui-block-b">
<a data-role="button" id="b9"></a>
</div>
</div>
</center>
</div>
</div>
</div>
我在那里有一个退出按钮,我想点击该按钮退出应用程序。
我的代码:
<script>
$(document).on('pageinit', '#MenuPage', function(events){
$(document).on('click', '#btnExit', function(event){
navigator.app.exitApp();
});
});
</script>
作为回应,我在netbeans中得到以下异常:
Uncaught TypeError: Cannot call method 'exitApp' of undefined
我已经尝试使用谷歌搜索,但似乎没有任何工作。
寻求帮助。
答案 0 :(得分:1)
您是否在移动设备上看到应用后立即点击退出按钮? 在调用 exitApp 方法之前,您需要等待 deviceReady 事件发生 您可以做的是在触发设备就绪事件后显示菜单。 e.g
<style>
#MenuPage {
visibility:hidden;
}
<style>
<script>
document.addEventListener("deviceready",displayMenu,false);
function displayMenu () {
alert("Displaying Menu...");
document.getElementById("MenuPage").style.visibility="visible";
}
</script>
答案 1 :(得分:1)
在脚本
之前添加此内容<script type="text/javascript" src="cordova.js"></script>
如果仍然失败,请尝试此
navigator.device.exitApp();