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函数
Sep 08 Javascript
Jquery中对数组的操作代码
Aug 12 Javascript
JS交换变量的方法
Jan 21 Javascript
JS限制文本框只能输入数字和字母方法
Feb 28 Javascript
js编写贪吃蛇的小游戏
Aug 24 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
Mar 22 Javascript
jquery实现跳到底部,回到顶部效果的简单实例(类似锚)
Jul 10 Javascript
基于Node.js的WebSocket通信实现
Mar 11 Javascript
ES6中Math对象新增的方法实例详解
Apr 25 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
Sep 21 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
Aug 06 Javascript
element-ui中el-upload多文件一次性上传的实现
Dec 02 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时间戳和日期相互转换操作实例小结
2018/12/18 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
JavaScript对象的property属性详解
2014/04/01 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
2016/01/07 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
移动端日期插件Mobiscroll.js使用详解
2016/12/19 Javascript
js仿京东轮播效果 选项卡套选项卡使用
2017/01/12 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
浅谈vue父子组件怎么传值
2018/07/21 Javascript
Vue.js中该如何自己维护路由跳转记录
2019/05/19 Javascript
原生js实现无缝轮播图效果
2021/01/28 Javascript
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
部署Python的框架下的web app的详细教程
2015/04/30 Python
matplotlib设置legend图例代码示例
2017/12/19 Python
Python3 实现串口两进程同时读写
2019/06/12 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
Python生成器实现简单&quot;生产者消费者&quot;模型代码实例
2020/03/27 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
python实现AdaBoost算法的示例
2020/10/03 Python
Python Http请求json解析库用法解析
2020/11/28 Python
Flask处理Web表单的实现方法
2021/01/31 Python
竞选学生会演讲稿
2014/04/25 职场文书
政府信息公开实施方案
2014/05/09 职场文书
个人事迹材料怎么写
2014/12/30 职场文书
文艺晚会开场白
2015/05/29 职场文书
国博复兴之路观后感
2015/06/02 职场文书
创业计划书之废品回收
2019/09/26 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
Python-OpenCV实现图像缺陷检测的实例
2021/06/11 Python
利用 JavaScript 构建命令行应用
2021/11/17 Javascript
Go语言实现一个简单的并发聊天室的项目实战
2022/03/18 Golang