代码如下:
<script>
// =========================PhoneGap==================================
// 等待加载PhoneGap
document.addEventListener("deviceready", onDeviceReady, false)
// PhoneGap加载完毕
function onDeviceReady() {
// 按钮事件
document.addEventListener("backbutton", eventBackButton, false) // 返回键
}
// 返回键
function eventBackButton() {
if($(".classobj").is(":visible")){
alert('再点击一次退出!')
document.removeEventListener("backbutton", eventBackButton, false) // 注销返回键
document.addEventListener("backbutton", exitApp, false)//绑定退出事件
// 3秒后重新注册
var intervalID = window.setInterval(function() {
window.clearInterval(intervalID)
document.removeEventListener("backbutton", exitApp, false) // 注销返回键
document.addEventListener("backbutton", eventBackButton, false) // 返回键
}, 3000)
}else {
//navigator.app.backHistory()
}
}
function exitApp(){
navigator.app.exitApp()
}
</script>
在cocos2d-js 3.0beta版中已经添加了android后腿建,菜单键,home建的支持。但是由于我们的疏忽,导致后退键和菜单键的keyCode定义是错误的 所以还需要各位自行修改一下js_cocos2d.js中的keyCode定义,如何修改具体可以看这位开发者给我们的PR ,为什么有这个错误我也在其中解释了 https//github.com/cocos2d/cocos2d-js/pull/457 这个错误发现了后我想买块豆腐撞死了有木有。。。,真的非常抱歉 大概用法如下: cc.eventManager.addListener({
event: cc.EventListener.KEYBOARD,
onKeyReleased: function(keyCode, event){
if(keyCode == cc.KEY.back)
{//........... }
else if(keyCode == cc.KEY.menu)
{//..............}
}
}, this)
以及 cc.eventManager.addCustomListener(cc.game.EVENT_HIDE, function(){
//onEnterBackground handler })cc.eventManager.addCustomListener(cc.game.EVENT_SHOW, function(){
//onEnterForeground handler })