带sencha touch v2的android后退按钮
我是新开发sencha触摸应用程序的。我正在将此应用程序转换为android。我试图在我的应用程序中使用android设备的后退按钮,但我无法得到正确的结果。下面是app.js文件的相关部分带sencha touch v2的android后退按钮,android,cordova,sencha-touch-2,Android,Cordova,Sencha Touch 2,我是新开发sencha触摸应用程序的。我正在将此应用程序转换为android。我试图在我的应用程序中使用android设备的后退按钮,但我无法得到正确的结果。下面是app.js文件的相关部分 launch:function(){ Ext.fly('appLoadingIndicator').destroy(); Ext.Viewport.add(Ext.create('Myapp.view.Main')); document.addEventListener("backb
launch:function(){
Ext.fly('appLoadingIndicator').destroy();
Ext.Viewport.add(Ext.create('Myapp.view.Main'));
document.addEventListener("backbutton", function(e) {
e.preventDefault();
alert('the back key is pressed');
}, false);
},
上面的代码只是为了检查是否调用了按下android设备的back按钮的回调。但不幸的是,我看不到警报消息。以上代码有什么改进吗?您必须在sencha中使用phonegap,然后才能使用“返回”按钮。看看这个网站我不明白使用
Ext.bind
来实现这个目标的目的。
将代码更改为:
launch:function(){
Ext.fly('appLoadingIndicator').destroy();
Ext.Viewport.add(Ext.create('Myapp.view.Main'));
document.addEventListener("backbutton", Myapp.app.backKeyDown, false);
alert("after eventlistener");
},
backKeyDown: function(e){
e.preventDefault();
alert('the back key is pressed');
},
它应该会起作用
[编辑]:
既然您说它仍然不工作,我猜您的回调可能存在范围问题:
尝试:
您可以使用cordova实现android的后退按钮功能。 在index.html中编写以下代码:
<script type="text/javascript" charset="utf-8">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
alert("In device");
document.addEventListener("backbutton", onBackKeyDown, false);
}
function onBackKeyDown() {
alert("hello");
}
</script>
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
函数ondevicerady(){
警报(“设备内”);
document.addEventListener(“backbutton”,onBackKeyDown,false);
}
函数onBackKeyDown(){
警惕(“你好”);
}
我已经阅读了此页面,以前也尝试过该代码,但它对我不起作用。我已经阅读了下一页。use必须将phonegap脚本插入index.html文件中。首先加载它,然后侦听deviceready事件。侦听index.html文件的onload事件,并在其文档中写入此代码;然后编写一个方法函数OnDevicerady(){document.addEventListener(“backbutton”,函数(e){e.preventDefault();alert('back键按下');},false)},因为必须首先初始化phonegap脚本。当脚本成功加载时,它触发deviceready事件。此事件发生后,您可以收听本页的“我正在阅读”按钮。然后我在我的应用程序中实现了这些代码。我还在app.js文件中尝试你的建议代码,但不幸的是,这个解决方案对我不起作用。仅查看警报('after eventlistener')消息。@Nayan_Daphi不需要权限。如果这不起作用,请尝试静态调用回调,如:Myapp.app.backKeyDown
或直接将函数放在那里function(){e.preventDefault();alert('back键按下');}
。请参阅我对文章的编辑。@Aubis未收到警告消息。我不知道哪里是我的错误或任何类型的错误。你在看控制台吗?有什么错误吗?你在哪里测试这个?
<script type="text/javascript" charset="utf-8">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
alert("In device");
document.addEventListener("backbutton", onBackKeyDown, false);
}
function onBackKeyDown() {
alert("hello");
}
</script>