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在IE7下无法使用 $.ajax解决方法
Nov 11 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
Jan 13 Javascript
ScrollDown的基本操作示例
Jun 09 Javascript
jQuery插件EnPlaceholder实现输入框提示文字
Jun 05 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
Jul 13 Javascript
简单实现JS上传图片预览功能
Apr 14 Javascript
使用vue构建一个上传图片表单
Jul 04 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
Nov 05 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
Sep 02 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
Jan 16 jQuery
React实现阿里云OSS上传文件的示例
Aug 10 Javascript
vue设置默认首页的操作
Aug 12 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的ob_start();控制您的浏览器cache!
2007/02/14 PHP
不错的PHP学习之php4与php5之间会穿梭一点点感悟
2007/05/03 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
2012/05/05 PHP
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
PHP中$this和$that指针使用实例
2015/01/06 PHP
PHP中imagick函数的中文解释
2015/01/21 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
jQuery 1.5 源码解读 面向中高阶JSER
2011/04/05 Javascript
JavaScript地图拖动功能SpryMap的简单实现
2013/07/17 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
2015/02/20 Javascript
jquery validate demo 基础
2015/10/29 Javascript
JS判断图片是否加载完成方法汇总(最新版)
2016/05/13 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
Zabbix添加Node.js监控的方法
2016/10/20 Javascript
seajs模块之间依赖的加载以及模块的执行
2016/10/21 Javascript
javascript动画系列之模拟滚动条
2016/12/13 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
详解vue修改elementUI的分页组件视图没更新问题
2020/11/13 Javascript
[55:35]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第二场 1月22日
2021/03/11 DOTA
python迭代器的使用方法实例
2013/11/21 Python
浅谈Python的垃圾回收机制
2016/12/17 Python
Python对数据进行插值和下采样的方法
2018/07/03 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
python3爬虫中引用Queue的实例讲解
2020/11/24 Python
浅谈利用缓存来优化HTML5 Canvas程序的性能
2015/05/12 HTML / CSS
软件配置管理有什么好处
2015/04/15 面试题
中学教师教育感言
2014/02/21 职场文书
英语复习计划
2015/01/19 职场文书
紧急通知
2015/04/17 职场文书
经费申请报告
2015/05/15 职场文书
导游词之烟台威海蓬莱
2019/11/14 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android
python装饰器代码解析
2022/03/23 Python