{ //监听返回按钮 document.addEventListener('backbutton',function(evt){ console.log('监听按钮'); varurl=location.hash.split('/')[1]; if(url==='home'){//处于app首页,满足退出app操作 console.log('满足条件') if(newDate()-time<2000){//小于2s,退出程序 navigator.app.exitApp(); }else{//大于2s,重置时间戳, time=newDate(); Toast('再次点击退出',2000); } return; }else{ console.log('不满足条件') history.back();//不满足退出操作,,返回上一页 } },false); },10)
代码很简单,逻辑也不是很复杂。但是要说一下为什么要用setTime()。
我是在vue的index.html里面加的这些代码。在没有添加setTime()的时候不知道为啥他不执行,检查好几遍也没有错。最后请教的大佬,他也不知道为什么。/笑哭不过能用了。
之前也遇到了一个关闭手机端虚拟键盘的操作。他就是不执行.。
document.activeElement.blur()
后来也是用settime()解决的。
补充知识:Vue单页面处理手机返回键问题
在用Vue开发单页面App时候,有时会遇到要处理返回按键的逻辑,让它不是返回默认的上一级页面,而是转到指定的页面。百度了查了一下,网上给的方法基本都是通过监听“popstate”,并不能完美解决。后来想到了Router的“导航守卫”,在离开时进行处理一下即可。话不多说,直接上例子:
beforeRouteLeave(to,from,next){ if(this.success){ next({path:'/home'});//重定向到指定路径 }else{ next() } }
就是在next()方法里面重定向就行。完美解决,还不用绑定监听再解绑监听。
以上这篇vue手机物理监听键+退出提示代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。