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 相关文章推荐
FF IE兼容性的修改小结
Sep 02 Javascript
js下用eval生成JSON对象
Sep 17 Javascript
js/jquery去掉空格,回车,换行示例代码
Nov 05 Javascript
D3.js 从P元素的创建开始(显示可加载数据)
Oct 30 Javascript
javascript特殊日历控件分享
Mar 07 Javascript
javascript事件委托的用法及其好处简析
Apr 04 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
Apr 29 Javascript
JavaScript:Array类型全面解析
May 19 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
Apr 23 jQuery
Angular 容器部署的方法
Apr 17 Javascript
小程序点击图片实现自动播放视频
May 29 Javascript
详解vue中v-bind:style效果的自定义指令
Jan 21 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实现批量查询清除一句话后门的代码
2008/01/20 PHP
php程序之die调试法 快速解决错误
2009/09/17 PHP
php常用字符串处理函数实例分析
2014/11/22 PHP
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
2014/12/05 PHP
PHP生成唯一ID之SnowFlake算法
2016/12/17 PHP
如何重写Laravel异常处理类详解
2020/12/20 PHP
HTML5附件拖拽上传drop &amp; google.gears实现代码
2011/04/28 Javascript
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
微信小程序 wxapp地图 map详解
2016/10/31 Javascript
javascript实现滑动解锁功能
2017/03/22 Javascript
深入理解react-router@4.0 使用和源码解析
2017/05/23 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
vue小图标favicon不显示的解决方案
2017/09/19 Javascript
JS实现百度搜索接口及链接功能实例代码
2018/02/02 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
微信小程序移动拖拽视图-movable-view实例详解
2019/08/17 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
three.js 如何制作魔方
2020/07/31 Javascript
[02:48]DOTA2超级联赛专访海涛:你们的选择没有错
2013/06/07 DOTA
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
在Python中使用dict和set方法的教程
2015/04/27 Python
Python应用03 使用PyQT制作视频播放器实例
2016/12/07 Python
Python编程求质数实例代码
2018/01/31 Python
Python实现将多个空格换为一个空格.md的方法
2018/12/20 Python
python全栈要学什么 python全栈学习路线
2019/06/28 Python
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
美国存储和组织商店:The Container Store
2017/08/16 全球购物
材料员岗位职责
2014/03/13 职场文书
欢度春节标语
2014/07/01 职场文书
统计专业自荐书
2014/07/06 职场文书
渠道运营商合作协议书范本
2014/10/06 职场文书
教师业务学习材料
2014/12/16 职场文书
毕业设计致谢语
2015/05/14 职场文书
《草船借箭》教学反思
2016/02/23 职场文书
Python实战之实现康威生命游戏
2021/04/26 Python