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 相关文章推荐
js下用eval生成JSON对象
Sep 17 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
Dec 18 Javascript
js截取中英文字符串、标点符号无乱码示例解读
Apr 17 Javascript
jQuery内部原理和实现方式浅析
Feb 03 Javascript
原生JS实现响应式瀑布流布局
Apr 02 Javascript
JavaScript子窗口调用父窗口变量和函数的方法
Oct 09 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
Mar 18 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
May 20 Javascript
jquery对所有input type=text的控件赋值实现方法
Dec 02 Javascript
理解javascript async的用法
Aug 22 Javascript
webpack之引入图片的实现及问题
Oct 08 Javascript
vue使用refs获取嵌套组件中的值过程
Mar 31 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
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
解析PHP中empty is_null和isset的测试
2013/06/29 PHP
PHP未登录自动跳转到登录页面
2016/12/21 PHP
php源码的使用方法讲解
2019/09/26 PHP
javascript 支持ie和firefox杰奇翻页函数
2008/07/22 Javascript
JS图片无缝滚动(简单利于使用)
2013/06/17 Javascript
js计算两个时间之间天数差的实例代码
2013/11/19 Javascript
JS 弹出层 定位至屏幕居中示例
2014/05/21 Javascript
javascript学习笔记(二)数组和对象部分
2014/09/30 Javascript
SWFUpload多文件上传及文件个数限制的方法
2016/05/31 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
全面解析标签页的切换方式
2016/08/21 Javascript
浅析Angular19 自定义表单控件
2018/01/31 Javascript
vuejs router history 配置到iis的方法
2018/09/20 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
2019/05/22 Javascript
如何在 ant 的table中实现图片的渲染操作
2020/10/28 Javascript
[07:06]2018DOTA2国际邀请赛寻真——卫冕冠军Team Liquid
2018/08/10 DOTA
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
python 读写txt文件 json文件的实现方法
2016/10/22 Python
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
Pandas读写CSV文件的方法示例
2019/03/27 Python
numpy.transpose()实现数组的转置例子
2019/12/02 Python
python 微信好友特征数据分析及可视化
2020/01/07 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
美国羊皮公司:Overland
2018/01/15 全球购物
社会实践感言
2014/01/25 职场文书
高三政治教学反思
2014/02/06 职场文书
户外亲子活动策划方案
2014/02/07 职场文书
秋季运动会演讲稿
2014/09/16 职场文书
考试作弊万能检讨书
2014/10/19 职场文书
小人国观后感
2015/06/11 职场文书
导游词之天津古文化街
2019/11/09 职场文书
Python 键盘事件详解
2021/11/11 Python