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 tips提示框组件实现代码
Nov 19 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
Jan 25 Javascript
Javascript setInterval的两种调用方法(实例讲解)
Nov 29 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
Aug 19 Javascript
js命名空间写法示例
Dec 18 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
Dec 19 Javascript
图文详解Javascript中的上下文和作用域
Feb 15 Javascript
详解require.js配置路径的用法和css的引入
Sep 06 Javascript
详解webpack2+React 实例demo
Sep 11 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
Aug 08 Javascript
Bootstrap Table实现定时刷新数据的方法
Aug 13 Javascript
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
Jun 14 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+Ajax实时自动检测是否联网的方法
2015/07/01 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
js常用排序实现代码
2010/12/28 Javascript
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
JavaScript实现文字与图片拖拽效果的方法
2015/02/16 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
2015/05/25 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
jQuery中(function($){})(jQuery)详解
2015/07/15 Javascript
详解Angularjs filter过滤器
2016/02/06 Javascript
js重写方法的简单实现
2016/07/10 Javascript
jQuery中fadein与fadeout方法用法示例
2016/09/16 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
浅谈angular4生命周期钩子
2017/09/05 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
vue 本地服务不能被外部IP访问的完美解决方法
2018/10/29 Javascript
JS实现的tab切换并显示相应内容模块功能示例
2019/08/03 Javascript
vue3.0中使用element的完整步骤
2021/03/04 Vue.js
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
Python元组知识点总结
2019/02/18 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
免费获得微软MCSD证书赶快行动吧!
2012/11/13 HTML / CSS
HTML5地理定位实例
2014/10/15 HTML / CSS
澳大利亚领先的美容护肤品零售商之一:SkincareStore
2018/01/22 全球购物
酒店管理自荐信
2013/10/23 职场文书
会计专业毕业生推荐信
2013/11/05 职场文书
学生会主席就职演讲稿
2014/01/14 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
银行自荐信范文
2015/03/25 职场文书
葬礼主持词
2015/07/02 职场文书
老人节主持词
2015/07/04 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
nginx前后端同域名配置的方法实现
2021/03/31 Servers
浅析Redis Sentinel 与 Redis Cluster
2021/06/24 Redis
小程序自定义轮播图圆点组件
2022/06/25 Javascript
td 内容自动换行 table表格td设置宽度后文字太多自动换行
2022/12/24 HTML / CSS