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 表单之间的数据传递代码
Dec 04 Javascript
在模板页面的js使用办法
Apr 01 Javascript
javascript笔记 String类replace函数的一些事
Sep 22 Javascript
JavaScript中的prototype和constructor简明总结
Apr 05 Javascript
javascript常用经典算法实例详解
Nov 25 Javascript
ionic实现底部分享功能
May 11 Javascript
Angular+Node生成随机数的方法
Jun 16 Javascript
浅谈webpack-dev-server的配置和使用
May 17 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
Sep 27 Javascript
vue搜索和vue模糊搜索代码实例
May 07 Javascript
微信小程序实现上拉加载功能
Nov 20 Javascript
Element Badge标记的使用方法
Jul 27 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 4.2书写安全的脚本
2006/10/09 PHP
PHP简单验证码功能机制实例详解
2019/03/27 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
2019/06/13 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
百度 popup.js 完美修正版非常的不错 脚本之家推荐
2009/04/17 Javascript
写出更好的JavaScript程序之undefined篇(中)
2009/11/23 Javascript
javascript自启动函数的问题探讨
2013/10/05 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
jqplot通过ajax动态画折线图的方法及思路
2013/12/08 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
2014/04/03 Javascript
javascript实现复制与粘贴操作实例
2014/10/16 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
JS中创建函数的三种方式及区别
2016/03/13 Javascript
Node.js的Web模板引擎ejs的入门使用教程
2016/06/06 Javascript
JS取模、取商及取整运算方法示例
2016/10/13 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
vue+axios+element ui 实现全局loading加载示例
2018/09/11 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
python操作MySQL 模拟简单银行转账操作
2017/09/27 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
获取Pytorch中间某一层权重或者特征的例子
2019/08/17 Python
对python while循环和双重循环的实例详解
2019/08/23 Python
Python with语句和过程抽取思想
2019/12/23 Python
Python图像处理库PIL中图像格式转换的实现
2020/02/26 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
2020/03/12 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
python关于倒排列的知识点总结
2020/10/13 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
2021/01/11 Python
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
毕业生个人求职的自我评价
2013/10/28 职场文书
项目施工员岗位职责
2014/03/09 职场文书
销售个人求职信范文
2014/04/28 职场文书
先进事迹材料怎么写
2014/12/30 职场文书
四十年同学聚会致辞
2015/07/28 职场文书
学生会副主席竞选稿
2015/11/19 职场文书
使用css样式设计一个简单的html登陆界面的实现
2021/03/30 HTML / CSS