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 相关文章推荐
网页里控制图片大小的相关代码
Jun 25 Javascript
javascript调试之DOM断点调试法使用技巧分享
Apr 15 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
Jan 26 Javascript
移动开发之自适应手机屏幕宽度
Nov 23 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
Mar 15 Javascript
纯原生js实现贪吃蛇游戏
Apr 16 Javascript
vue实现页面加载动画效果
Sep 19 Javascript
浅谈React中的元素、组件、实例和节点
Feb 27 Javascript
iview日期控件,双向绑定日期格式的方法
Mar 15 Javascript
layui写后台表格思路和赋值用法详解
Nov 14 Javascript
vue中如何自定义右键菜单详解
Dec 08 Vue.js
vue-resource 拦截器interceptors使用详解
Jan 18 Vue.js
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
dedecms防止FCK乱格式化你的代码的修改方法
2007/03/17 PHP
PHP5中的时间相差8小时的解决办法
2008/03/28 PHP
php配合jquery实现增删操作具体实例
2013/12/12 PHP
php文件系统处理方法小结
2016/05/23 PHP
PHP使用pdo实现事务处理操作示例
2018/09/05 PHP
PHP使用ActiveMQ实现消息队列的方法详解
2019/05/31 PHP
jQuery之折叠面板的深入解析
2013/06/19 Javascript
js实现touch移动触屏滑动事件
2015/04/17 Javascript
jQuery插件windowScroll实现单屏滚动特效
2015/07/14 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
js实现继承的5种方式
2015/12/01 Javascript
jqGrid 学习笔记整理——进阶篇(一 )
2016/04/17 Javascript
jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
2016/07/19 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
2016/12/01 Javascript
完美解决JS文件页面加载时的阻塞问题
2016/12/18 Javascript
基于vue2.0+vuex的日期选择组件功能实现
2017/03/13 Javascript
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
2019/01/22 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
JavaScript实现简单贪吃蛇效果
2020/03/09 Javascript
JavaScript编码小技巧分享
2020/09/17 Javascript
浅谈vue websocket nodeJS 进行实时通信踩到的坑
2020/09/22 NodeJs
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
.net C#面试题
2012/08/28 面试题
运动会班级口号
2014/06/09 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
《植树问题》教学反思
2016/03/03 职场文书
详解Vue的options
2021/05/15 Vue.js
java高级用法JNA强大的Memory和Pointer
2022/04/19 Java/Android