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 相关文章推荐
JavaScript入门教程 Cookies
Jan 31 Javascript
Javascript模块化编程(三)require.js的用法及功能介绍
Jan 17 Javascript
JS实现匀速运动的代码实例
Nov 29 Javascript
类似天猫商品详情随浏览器移动的示例代码
Feb 27 Javascript
js中 javascript:void(0) 用法详解
Aug 11 Javascript
AngularJS利用Controller完成URL跳转
Aug 09 Javascript
轻松理解JavaScript之AJAX
Mar 15 Javascript
Vue组件中prop属性使用说明实例代码详解
May 31 Javascript
vue 国际化 vue-i18n 双语言 语言包
Jun 07 Javascript
javascript显示动态时间的方法汇总
Jul 06 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
Sep 27 Javascript
layui+jquery支持IE8的表格分页方法
Sep 28 jQuery
关于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
第五章 php数组操作
2011/12/30 PHP
CodeIgniter框架常见用法工作总结
2017/03/16 PHP
JS删除数组元素的函数介绍
2013/03/27 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
JS脚本实现动态给标签控件添加事件的方法
2016/06/02 Javascript
json与jsonp知识小结(推荐)
2016/08/16 Javascript
AngularJs concepts详解及示例代码
2016/09/01 Javascript
IE8兼容Jquery.validate.js的问题
2016/12/01 Javascript
socket.io学习教程之基本应用(二)
2017/04/29 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
Vue.js中对css的操作(修改)具体方式详解
2018/10/30 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
[00:43]魔廷新尊——痛苦女王至宝捆绑包
2020/06/12 DOTA
简单介绍Python中的readline()方法的使用
2015/05/24 Python
python探索之BaseHTTPServer-实现Web服务器介绍
2017/10/28 Python
TensorFlow入门使用 tf.train.Saver()保存模型
2018/04/24 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
python 接收处理外带的参数方法
2018/12/03 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
python实现列表的排序方法分享
2019/07/01 Python
python 类之间的参数传递方式
2019/12/20 Python
浅析Python 多行匹配模式
2020/07/24 Python
python中Array和DataFrame相互转换的实例讲解
2021/02/03 Python
伯克斯奥特莱斯:Burkes Outlet
2019/03/30 全球购物
自我评价是什么
2014/01/04 职场文书
学校师德师风整改措施
2014/10/27 职场文书
2015年党性分析材料
2014/12/19 职场文书
孔庙导游词
2015/02/04 职场文书
小班上学期个人总结
2015/02/12 职场文书
刑事上诉状(量刑过重)
2015/05/23 职场文书
Vue操作Storage本地化存储
2022/04/29 Vue.js