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 相关文章推荐
Document 对象的常用方法
Jul 31 Javascript
JavaScript通过正则表达式实现表单验证电话号码
Mar 07 Javascript
Javascript中的作用域和上下文深入理解
Jul 03 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
Apr 17 Javascript
利用jquery获取select下拉框的值
Nov 23 Javascript
Vue实例简单方法介绍
Jan 20 Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
Jan 09 Javascript
快速解决select2在bootstrap模态框中下拉框隐藏的问题
Aug 10 Javascript
分享vue里swiper的一些坑
Aug 30 Javascript
JS重学系列之聊聊new操作符
Mar 04 Javascript
vue实现分页栏效果
Jun 28 Javascript
微信小程序request请求封装,验签代码实例
Dec 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
一个阿拉伯数字转中文数字的函数
2006/10/09 PHP
PHP 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
PHP 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
php 数组字符串搜索array_search技巧
2016/07/05 PHP
JS代码格式化和语法着色V2
2006/10/14 Javascript
css把超出的部分显示为省略号的方法兼容火狐
2008/07/23 Javascript
iframe 父窗口和子窗口相互的调用方法集锦
2010/12/15 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
JavaScript中的继承之类继承
2016/05/01 Javascript
基于BootStrap与jQuery.validate实现表单提交校验功能
2016/12/22 Javascript
详解如何将angular-ui的图片轮播组件封装成一个指令
2017/05/09 Javascript
ES6中新增的Object.assign()方法详解
2017/09/22 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
2017/12/22 Javascript
angularJs 表格添加删除修改查询方法
2018/02/27 Javascript
详解Vue 多级组件透传新方法provide/inject
2018/05/09 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
javascript实现文字跑马灯效果
2020/06/18 Javascript
Python实现国外赌场热门游戏Craps(双骰子)
2015/03/31 Python
python对html代码进行escape编码的方法
2015/05/04 Python
python中reload(module)的用法示例详解
2017/09/15 Python
python使用turtle库与random库绘制雪花
2018/06/22 Python
关于ResNeXt网络的pytorch实现
2020/01/14 Python
Django后端按照日期查询的方法教程
2021/02/28 Python
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
毕业自荐信
2013/12/16 职场文书
高二生物教学反思
2014/01/27 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
2015驻村干部工作总结
2015/04/07 职场文书
产品调价通知函
2015/04/20 职场文书
党员转正大会主持词
2015/07/02 职场文书
赞助商致辞
2015/07/30 职场文书
《扇形统计图》教学反思
2016/02/17 职场文书
2016道德模范先进事迹材料
2016/02/26 职场文书
微信小程序中wxs文件的一些妙用分享
2022/02/18 Javascript