vue中实现回车键登录功能


Posted in Javascript onFebruary 19, 2020
created() {
 let that = this;
 document.onkeypress = function(e) {
 var keycode = document.all ? event.keyCode : e.which;
 if (keycode == 13) {
 that.login();// 登录方法名
  return false;
 }
 };
 }

以上的代码,在这几天测试发现有一个问题,在登录进系统之后,从首页切换到其他界面,点击回车,会导致界面调整到首页!

要实现:

只在Login界面点击回车才执行onkeypress方法,其他的点回车均不触发(还不明白为什么在其他界面回车会执行Login界面的created-_-|| )

思路:

在Login.vue最外层绑定id,再绑定键盘事件。

$(“#loginDiv”).bind("keypress",toLogin);

测试发现监听不到按键事件,因为div元素没法获取焦点,但只要为div元素加上tabIndex属性就能获取焦点

<div tabIndex=-1></div>

以上方法虽然也能触发keypress,但还有点瑕疵~ 就是打开登录页时,需要鼠标点一下界面,才能触发keypress!!!

又一思路:界面中需要有一个聚焦,在回车时才好执行keypress。故在界面中加input文本框,让不管从哪里打开或跳到Login.vue都聚焦文本框

所以自定义指令:

<div id="loginDiv" tabindex="1" style="outline:0;" >
 <input type="text" v-focus style="opacity:0;position:absolute;">
</div>
directives: {
 focus: {
 // 指令的定义
 inserted: function (el) {
 el.focus()
 }
 }
},

自定义指令及inserted用法截图自vue官网文档如下:

vue中实现回车键登录功能

vue中实现回车键登录功能

知识点补充:

vue项目里登录界面实现回车登录

方法一:

在vue的created钩子函数中写

//登录添加键盘事件,注意,不能直接在焦点事件上添加回车
 // let that = this;
 // document.onkeydown = function (e) {
 //  e = window.event || e;
 // if(that.$route.path=='/login'&&(e.code=='Enter'||e.code=='Num Enter')){//验证在登录界面和按得键是回车键enter
 //  that.handleSubmit2('ruleForm2');//登录函数 (handleSubmit2('ruleForm2')-登录按钮的点击事件)
 // }
 // }

注意:只对主键盘的Enter管用

方法二:

在vue的created钩子函数中写

var _self = this;
  document.onkeydown = function(e){
  var key = window.event.keyCode;
  if(key == 13 || key == 100){
   _self.handleSubmit2('ruleForm2');
  }
 }

对主键盘和小键盘的Enter都管用

总结

以上所述是小编给大家介绍的vue中实现回车键登录功能,希望对大家有所帮助,也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript 事件记录使用说明
Oct 20 Javascript
javascript中的绑定与解绑函数应用示例
Jun 24 Javascript
Js 去掉字符串中的空格(实现代码)
Nov 19 Javascript
js 模式窗口(模式对话框和非模式对话框)的使用介绍
Jul 17 Javascript
node.js中的fs.fchmod方法使用说明
Dec 16 Javascript
浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
Jan 14 Javascript
dedecms页面如何获取会员状态的实例代码
Mar 15 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
Oct 10 Javascript
利用ES6实现单例模式及其应用详解
Dec 09 Javascript
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
May 14 Javascript
laydate只显示时分 不显示秒的功能实现方法
Sep 28 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
Sep 04 Javascript
Vue中实现回车键切换焦点的方法
Feb 19 #Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
Feb 19 #Javascript
Vue常用的全选/反选的示例代码
Feb 19 #Javascript
详解node和ES6的模块导出与导入
Feb 19 #Javascript
JS实现分页导航效果
Feb 19 #Javascript
vue随机验证码组件的封装实现
Feb 19 #Javascript
JavaScript实现PC端四格密码输入框功能
Feb 19 #Javascript
You might like
PHP中实现进程间通讯
2006/10/09 PHP
php实现的RSS生成类实例
2015/04/23 PHP
php获取访问者IP地址汇总
2015/04/24 PHP
php事件驱动化设计详解
2016/11/10 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
JavaScript 在各个浏览器中执行的耐性
2009/04/06 Javascript
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
快速学习JavaScript的6个思维技巧
2015/10/13 Javascript
node.js学习之base64编码解码
2016/10/21 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
2017/02/20 Javascript
基于angular实现三级联动的生日插件
2017/05/12 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
2019/10/25 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
Vue-cli打包后如何本地查看的操作
2020/09/02 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
python PIL模块与随机生成中文验证码
2016/02/27 Python
Python迭代和迭代器详解
2016/11/10 Python
Python 多核并行计算的示例代码
2017/11/07 Python
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
对python3新增的byte类型详解
2018/12/04 Python
python中嵌套函数的实操步骤
2019/02/27 Python
购买正版游戏和游戏激活码:Green Man Gaming
2019/11/06 全球购物
网络专业学生个人的自我评价
2013/12/16 职场文书
班组长工作职责
2013/12/25 职场文书
学习全国两会精神心得体会范文
2014/03/17 职场文书
出国留学经济担保书
2014/04/01 职场文书
大学毕业生个人自荐书
2014/07/02 职场文书
大学本科生职业生涯规划书范文
2014/09/14 职场文书
孝老爱亲事迹材料
2014/12/24 职场文书
成绩单评语
2015/01/04 职场文书
2015年人事工作总结范文
2015/04/09 职场文书
旅行社计调工作总结
2015/08/12 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书