xtr*_*ist 7 javascript events android cordova
我正在使用PhoneGap进行Android应用程序开发,而我却停留在设备上捕获后退按键!我尝试了其他线程和官方维基页面上的所有内容,但似乎都没有用!:(
我可以使用keyEvent.menuTrigger和keyEvent.searchTrigger捕获菜单和搜索键,但似乎无法捕获后退按钮按下!我同样尝试了keyEvent.backTrigger,但它没有用!为'backKeyDown'事件添加事件监听器也不起作用!
这是我的代码:
BackButton.override();
document.addEventListener('backKeyDown', function(e) {
console.log('Caught it!');
}, false);
keyEvent.searchTrigger= searchPressed;
keyEvent.menuTrigger=menuPressed;
keyEvent.backTrigger=backPressed;
Run Code Online (Sandbox Code Playgroud)
控制台说:
Line 1 : Uncaught TypeError: Cannot call method 'backTrigger' of undefined
Run Code Online (Sandbox Code Playgroud)
这是不是意味着调用了something.backTrigger(),但是对象不存在.那是什么东西?或者有什么办法吗?
与KeyEvent也一样,没有运气!请帮忙!
提前致谢!:)
有关Android按钮处理程序的PhoneGap Wiki页面已针对PhoneGap 0.9.5进行了更新:
// This is your app's init method. Here's an example of how to use it
function init() {
document.addEventListener("deviceready", onDR, false);
}
function onDR(){
document.addEventListener("backbutton", backKeyDown, true);
//boot your app...
}
function backKeyDown() {
// do something here if you wish
// alert('go back!');
}
Run Code Online (Sandbox Code Playgroud)
适用于PhoneGap 0.9.6
您还可以使用menubutton和searchbutton事件处理其他按钮.
如果您使用的 api 级别高于 2.0 那么您可以覆盖以下函数
@Override
public void onBackPressed() {
// do something on back.
return;
}
Run Code Online (Sandbox Code Playgroud)
用于跟踪后退按钮按下事件。
如果没有,那么您可以覆盖 Activity 的 onKeyDown 事件并跟踪后退按钮
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
// do something on back.
return true;
}
return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9517 次 |
| 最近记录: |