tiger105
tiger105
  • 发布:2014-11-24 17:23
  • 更新:2017-04-22 22:56
  • 阅读:9566

MUI程序2次back不能退出程序

分类:MUI

1、程序运行后连续按2次back不能退出app,系统升级到最新版本。
2、在输入切换到数字时,输入一个马上又跳到英文模式。
请问是什么原因

2014-11-24 17:23 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

你的首页只有一个webview。无需配置init里边的backbutton为false。把刚才让你加的代码去掉。
然后换成下边的代码。双击退出应用,是需要自己加代码的

mui.plusReady(function() {  
				//首页返回键处理  
				//处理逻辑:1秒内,连续两次按返回键,则退出应用;  
				var first = null;  
				plus.key.addEventListener('backbutton', function() {  
					//首次按键,提示‘再按一次退出应用’  
					if (!first) {  
						first = new Date().getTime();  
						mui.toast('再按一次退出应用');  
						setTimeout(function() {  
							first = null;  
						}, 1000);  
					} else {  
						if (new Date().getTime() - first < 1000) {  
							plus.runtime.quit();  
						}  
					}  
				}, false);  
			});
DCloud_UNI_FXY

DCloud_UNI_FXY

问题1:程序运行后连续按2次back不能退出app
你的app首页是两个webview,2次退出app的代码是在父webview里?
如果是的话,将mui的js升级到最新,在子webview里边的init里边配置一下,keyEventBind的backbutton为false

mui.init({  
					keyEventBind: {  
						backbutton: false,  
						menubutton: true  
					}  
				});

问题2:在输入切换到数字时,输入一个马上又跳到英文模式。
手机型号,系统版本,输入框类型说一下?

tiger105

tiger105 (作者)

非常感谢楼上的回复,先声明我是刚开始用HBuilder,程序是在hello基础上修改,其机构如下:

另外,对系统结构不了解,按您说的,是如下修改的,不知正确与否?
........
<body>
<script>
mui.init(
{
keyEventBind: {
backbutton: false,
menubutton: true
})
</script>
<h3 align="center">MeeHealth 出差补贴计算器</h2>
<form id="form1" name="form1" method="post" action="">

........

程序执行的功能正常。但连续按2此back还是不能退出,如果存在使用的低级错误,希望能得到您指教。谢谢!

2.我用的是huawei G750-T01手机。 Android 4.2.2,其输入框类型为:
<input name="days" type="text" id = "days" value="" size="4" maxlength="3"
onkeyup="this.value=this.value.replace(/\D/g,'')"
onafterpaste="this.value=this.value.replace(/\D/g,'')"/>

DCloud_UNI_FXY

DCloud_UNI_FXY

输入的问题,我用一个android手机测试了下你的代码。没发现有问题。
你可以再使用另外一个android手机测试一下。看看是否为普遍的问题,如果只有这个手机有问题,我们后续会考虑这个型号手机的兼容性。

另外如果限制为数字的话。直接使用type="number"。这样会自动显示为数字键盘

tiger105

tiger105 (作者)

1、程序运行后连续按2次back不能退出app,系统升级到最新版本。
已经圆满解决,非常感谢!
2、在输入切换到数字时,输入一个马上又跳到英文模式。
此问题是不是手机兼容性问题?

DCloud_UNI_FXY

DCloud_UNI_FXY

输入数字,自动跳到英文模式,这个现象,我安装你的工程测试没发现此问题。不排除是兼容性问题。

你可以先把input内的校验事件移除掉,测试一下。看看是不是你的校验事件导致的

tiger105

tiger105 (作者)

刚才去掉数字验证,没有问题。
谢谢啦!

fategaga

fategaga

根本没走 setTimeout() 怎么回事

该问题目前已经被锁定, 无法添加新回复