vue 手机物理监听键+退出提示代码


Posted in Javascript onSeptember 09, 2020

我就废话不多说了,大家还是直接看代码吧~

<script>
	//Toast 这些都是在网上粘的别人的。但是找不到出处了,大佬见谅。
	function Toast(msg,duration){
		duration=isNaN(duration)?3000:duration;
		var m = document.createElement('div');
		m.innerHTML = msg;
		m.style.cssText="width: 60%;min-width: 150px;opacity: 0.7;height: 30px;color: rgb(255, 255, 255);line-height: 30px;text-align: center;border-radius: 5px;position: fixed;bottom: 70px;left: 20%;z-index: 999999;background: rgb(0, 0, 0);font-size: 12px;";
		document.body.appendChild(m);
		setTimeout(function() {
			var d = 0.5;
			m.style.webkitTransition = '-webkit-transform ' + d + 's ease-in, opacity ' + d + 's ease-in';
			m.style.opacity = '0';
			setTimeout(function() { document.body.removeChild(m) }, d * 1000);
		}, duration);
	}
	var time = '' // 用来存上一次按键时间;
	setTimeout(() => {
		// 监听返回按钮
		document.addEventListener('backbutton', function (evt) {
			console.log('监听按钮');
			var url = location.hash.split('/')[1];
			if (url === 'home' ) {// 处于app首页,满足退出app操作
				console.log('满足条件')
				if (new Date() - time < 2000) {// 小于2s,退出程序
					navigator.app.exitApp();
				} else {  // 大于2s,重置时间戳,
					time = new Date();
					Toast('再次点击退出', 2000);
				}
				return;
			} else {
				console.log('不满足条件')
				history.back(); // 不满足退出操作,,返回上一页
			}
		}, false);
	}, 10)
</script>

代码很简单,逻辑也不是很复杂。但是要说一下为什么要用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 手机物理监听键+退出提示代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
B/S开发中常用javaScript技术与代码
Mar 09 Javascript
javascript 火狐(firefox)不显示本地图片问题解决
Jul 05 Javascript
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
Jun 27 Javascript
使用js对select动态添加和删除OPTION示例代码
Aug 12 Javascript
javascript白色简洁计算器
May 04 Javascript
jQuery实现下拉框选择图片功能实例
Aug 08 Javascript
省市二级联动小案例讲解
Jul 24 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
Aug 02 Javascript
jQuery实现背景滑动菜单
Dec 02 Javascript
jQuery基于事件控制实现点击显示内容下拉效果
Mar 07 Javascript
vue.js单页面应用实例的简单实现
Apr 10 Javascript
JavaScript之DOM_动力节点Java学院整理
Jul 03 Javascript
关于angular引入ng-zorro的问题浅析
Sep 09 #Javascript
关于vue的列表图片选中打钩操作
Sep 09 #Javascript
JavaScript日期库date-fn.js使用方法解析
Sep 09 #Javascript
js实现简单抽奖功能
Nov 24 #Javascript
js实现贪吃蛇游戏 canvas绘制地图
Sep 09 #Javascript
Vue路由 重定向和别名的区别说明
Sep 09 #Javascript
JavaScript常用8种数组去重代码实例
Sep 09 #Javascript
You might like
解析curl提交GET,POST,Cookie的简单方法
2013/06/29 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
2017/04/25 PHP
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
jquery radio 操作代码
2011/03/16 Javascript
如何用js 实现依赖注入的思想,后端框架思想搬到前端来
2015/08/03 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
js实现商品抛物线加入购物车特效
2020/11/18 Javascript
JavaScript进阶练习及简单实例分析
2016/06/03 Javascript
jQuery实现简单的抽奖游戏
2017/05/05 jQuery
JS倒计时实例_天时分秒
2017/08/22 Javascript
微信小程序录音与播放录音功能
2017/12/25 Javascript
vue 指定组件缓存实例详解
2018/04/01 Javascript
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
JavaScript使用Math.random()生成简单的验证码
2019/01/21 Javascript
基于layui框架响应式布局的一些使用详解
2019/09/16 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
Python实现遍历windows所有窗口并输出窗口标题的方法
2015/03/13 Python
python 安装virtualenv和virtualenvwrapper的方法
2017/01/13 Python
Python实现的生成格雷码功能示例
2018/01/24 Python
python utc datetime转换为时间戳的方法
2019/01/15 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
2019/09/20 Python
Python requests设置代理的方法步骤
2020/02/23 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
python适合做数据挖掘吗
2020/06/16 Python
Python scrapy爬取小说代码案例详解
2020/07/09 Python
python3.7调试的实例方法
2020/07/21 Python
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
营业经理岗位职责
2013/11/10 职场文书
狼和鹿教学反思
2014/02/05 职场文书
感恩母亲节活动方案
2014/03/04 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
民间借贷纠纷案件代理词
2015/05/26 职场文书
春节慰问简报
2015/07/21 职场文书
公文写作:工伤事故分析报告怎么写?
2019/11/05 职场文书
sql字段解析器的实现示例
2021/06/23 SQL Server
字节飞书面试promise.all实现示例
2022/06/16 Javascript