在Cordova项目中可以使用各种事件。下表显示可用事件。
序号 | 事件和描述 |
---|---|
1 | deviceReady 一旦Cordova完全加载,事件就会触发。这有助于确保在加载所有内容之前没有调用Cordova函数。 |
2 | pause 当应用程序进入后台时触发事件。 |
3 | resume 当应用程序从后台返回时,会触发事件。 |
4 | backbutton 当按下返回按钮时触发事件。 |
5 | menubutton 当按下菜单按钮时触发事件。 |
6 | searchbutton 当按下Android搜索按钮时,会触发该事件。 |
7 | startcallbutton 按下启动呼叫按钮时会触发该事件。 |
8 | endcallbutton 当按下结束通话按钮时触发该事件。 |
9 | volumedownbutton 按下音量调低按钮时会触发该事件。 |
10 | volumeupbutton 按下音量提高按钮时会触发该事件。 |
所有事件都以类似的方式使用。我们应该始终在 js 中添加事件监听器,而不是内联事件调用,因为Cordova 内容安全策略不允许内置Javascript。 如果我们尝试调用事件内联,我们将得到以下错误。
使用事件的正确方法是使用 addEventListener 。我们将向您展示使用 volumeupbutton 事件的示例。
document.addEventListener("volumeupbutton", callbackFunction, false); function callbackFunction() { alert('Volume Up Button is pressed!') }
一旦我们按下音量提高按钮,警报将显示在屏幕上。
你通常会想要使用Android返回按钮的一些应用程序功能,如返回到上一个屏幕。为了能够实现自己的功能,首先需要在按下返回按钮时禁用退出应用程序。
document.addEventListener("backbutton", onBackKeyDown, false); function onBackKeyDown(e) { e.preventDefault(); alert('Back Button is Pressed!'); }
现在,当我们按本机Android后退按钮时,警报将显示在屏幕上,而不是退出应用程序。这是通过使用 e.preventDefault()来完成的。