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 相关文章推荐
一个很简单的办法实现TD的加亮效果.
Jun 29 Javascript
JS解析json数据并将json字符串转化为数组的实现方法
Dec 25 Javascript
基于JavaScript如何实现ajax调用后台定义的方法
Dec 29 Javascript
js实现横向拖拽导航条功能
Feb 17 Javascript
令按钮悬浮在(手机)页面底部的实现方法
May 02 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
May 02 Javascript
webpack4 CSS Tree Shaking的使用
Sep 03 Javascript
Element-ui tree组件自定义节点使用方法代码详解
Sep 17 Javascript
JavaScript使用prototype属性实现继承操作示例
May 22 Javascript
Vue实现附件上传功能
May 28 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
Jul 29 Javascript
基于Cesium绘制抛物弧线
Nov 18 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
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
javascript基础第一章 JavaScript与用户端
2010/07/22 Javascript
JS弹出对话框返回值代码(asp.net后台)
2010/12/28 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
2015/02/05 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
微信小程序 数组中的push与concat的区别
2017/01/05 Javascript
移动端点击态处理的三种实现方式
2017/01/12 Javascript
Bootstrap 设置datetimepicker在屏幕上面弹出设置方法
2017/03/21 Javascript
JavaScript制作简单的框选图表
2017/05/15 Javascript
详解Vue路由开启keep-alive时的注意点
2017/06/20 Javascript
layer弹出层 iframe层去掉滚动条的实例代码
2018/08/17 Javascript
jQuery实现购物车的总价计算和总价传值功能
2018/11/28 jQuery
JavaScript实现捕获鼠标坐标
2020/04/12 Javascript
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
python求pi的方法
2014/10/08 Python
python下载文件时显示下载进度的方法
2015/04/02 Python
Python中方法链的使用方法
2016/02/23 Python
Python实现简单的多任务mysql转xml的方法
2017/02/08 Python
老生常谈python之鸭子类和多态
2017/06/13 Python
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
Python3 mmap内存映射文件示例解析
2020/03/23 Python
详解Django中异步任务之django-celery
2020/11/05 Python
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
介绍一下如何优化MySql
2016/12/20 面试题
国际语言毕业生求职信
2014/07/08 职场文书
民主评议党员自我评议范文2014
2014/09/26 职场文书
2014预防青少年违法犯罪工作总结
2014/12/10 职场文书
承诺书范本
2015/01/21 职场文书
趣味运动会加油词
2015/07/18 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
图神经网络GNN算法
2022/05/11 Python