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的Cookies
Jan 16 Javascript
JSON 和 JavaScript eval使用说明
Jun 13 Javascript
jQuery获取文本节点之 text()/val()/html() 方法区别
Mar 01 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
Dec 31 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
Sep 03 Javascript
全面了解JS中的匿名函数
Jun 29 Javascript
Vue.js事件处理器与表单控件绑定详解
Mar 20 Javascript
Angular中的interceptors拦截器
Jun 25 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
Oct 31 Javascript
js利用递归与promise 按顺序请求数据的方法
Aug 30 Javascript
解决Vue在Tomcat8下部署页面不加载的问题
Nov 12 Javascript
Nuxt的动态路由和参数校验操作
Nov 09 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
WordPress判断用户是否登录的代码
2011/03/17 PHP
php使用function_exists判断函数可用的方法
2014/11/19 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
PHP读取文件的常见几种方法
2016/11/03 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
不用写JS也能使用EXTJS视频演示
2008/12/29 Javascript
Jquery+ajax请求data显示在GridView上(asp.net)
2010/08/27 Javascript
javascipt基础内容--需要注意的细节
2013/04/10 Javascript
Jquery的hide及toggle方法让超链接慢慢消失
2013/09/06 Javascript
JavaScript中的原型链prototype介绍
2014/12/30 Javascript
javascript引用类型之时间Date和数组Array
2015/08/27 Javascript
jquery.cookie.js用法实例详解
2015/12/25 Javascript
微信小程序 解决请求服务器手机预览请求不到数据的方法
2017/01/04 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
Bootstrap 表单验证formValidation 实现表单动态验证功能
2017/05/17 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
2019/11/06 Javascript
Python Nose框架编写测试用例方法
2017/10/26 Python
对numpy中轴与维度的理解
2018/04/18 Python
python:批量统计xml中各类目标的数量案例
2020/03/10 Python
浅谈django 重载str 方法
2020/05/19 Python
python中线程和进程有何区别
2020/06/17 Python
Python爬虫之App爬虫视频下载的实现
2020/12/08 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
世界排名第一的运动鞋市场:Flight Club
2020/01/03 全球购物
ManoMano英国:欧洲第一家专注于DIY和园艺市场的电商平台
2020/03/12 全球购物
我能否用void** 指针作为参数, 使函数按引用接受一般指针
2013/02/16 面试题
会计专业毕业生自我评价
2013/09/25 职场文书
工程监理应届生求职信
2013/11/09 职场文书
教师求职信范文
2014/05/24 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
2015年教务处干事工作总结
2015/07/22 职场文书
2016公司新年问候语
2015/11/11 职场文书
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
2021/05/24 Python