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 相关文章推荐
Jquery 学习笔记(一)
Oct 13 Javascript
JavaScript Event学习第三章 早期的事件处理程序
Feb 07 Javascript
Jquery从头学起第四讲 jquery入门教程
Aug 01 Javascript
javascript检测对象中是否存在某个属性判断方法小结
May 19 Javascript
Angularjs material 实现搜索框功能
Mar 08 Javascript
关于网页中的无缝滚动的js代码
Jun 09 Javascript
使用jquery获取url及url参数的简单实例
Jun 14 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
Oct 10 Javascript
适用于手机端的jQuery图片滑块动画
Dec 09 Javascript
详解Webpack DLL用法以及功能
Jul 11 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
Sep 12 Javascript
js实现简单选项卡制作
Aug 05 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不用递归遍历目录下所有文件的代码
2014/07/04 PHP
laravel 4安装及入门图文教程
2014/10/29 PHP
分享php分页的功能模块
2015/06/16 PHP
thinkphp诸多限制条件下如何getshell详解
2020/12/09 PHP
jquery 读取页面load get post ajax 四种方式代码写法
2011/04/02 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
2014/08/27 Javascript
JavaScript 学习笔记之语句
2015/01/14 Javascript
js生成验证码并直接在前端判断
2015/05/15 Javascript
Prototype框架详解
2015/11/25 Javascript
JQuery EasyUI的使用
2016/02/24 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
AngularJs Forms详解及简单示例
2016/09/01 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
vue router demo详解
2017/10/13 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
Vue实现数据表格合并列rowspan效果
2020/11/30 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
Js Snowflake(雪花算法)生成随机ID的实现方法
2020/08/26 Javascript
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
Python 支付整合开发包的实现
2019/01/23 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
2019/08/05 Python
如何在django中添加日志功能
2020/02/06 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
css3 clip实现圆环进度条的示例代码
2018/02/07 HTML / CSS
法国在线药房:DoctiPharma
2020/10/21 全球购物
解释一下Windows的消息机制
2014/01/30 面试题
开办饭店创业计划书
2013/12/28 职场文书
学校领导班子四风对照检查材料
2014/09/27 职场文书
2016国庆促销广告语
2016/01/28 职场文书
python glom模块的使用简介
2021/04/13 Python
docker compose 部署 golang 的 Athens 私有代理问题
2022/04/28 Servers
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python