created() {
let that = this;
document.onkeypress = function(e) {
var keycode = document.all ? event.keyCode : e.which;
if (keycode == ) {
that.login();// 登录方法名
return false;
}
};
}

以上的代码,在这几天测试发现有一个问题,在登录进系统之后,从首页切换到其他界面,点击回车,会导致界面调整到首页!

要实现:只在Login界面点击回车才执行onkeypress方法,其他的点回车均不触发(还不明白为什么在其他界面回车会执行Login界面的created-_-|| )

思路:在Login.vue最外层绑定id,再绑定键盘事件。

$(“#loginDiv”).bind("keypress",toLogin);

测试发现监听不到按键事件,因为div元素没法获取焦点,但只要为div元素加上tabIndex属性就能获取焦点

<div id="loginDiv" tabIndex=-1></div>

以上方法虽然也能触发keypress,但还有点瑕疵~ 就是打开登录页时,需要鼠标点一下界面,才能触发keypress!!!

又一思路:界面中需要有一个聚焦,在回车时才好执行keypress。故在界面中加input文本框,让不管从哪里打开或跳到Login.vue都聚焦文本框

所以自定义指令:

 <div id="loginDiv" tabindex="" style="outline:0;" >
<input type="text" v-focus style="opacity:0;position:absolute;">
</div>
directives: {
focus: {
// 指令的定义
inserted: function (el) {
el.focus()
}
}
},

自定义指令及inserted用法截图自vue官网文档如下:

解决方法参考自:

https://blog.csdn.net/zh1159007904/article/details/78026517

https://www.cnblogs.com/hjj2ldq/p/7831972.html

最新文章

  1. HDU4609 &amp; FFT
  2. 学习zepto.js(Hello World)
  3. 【CodeForces 567E】President and Roads(最短路)
  4. jsp日期插件My97DatePicker
  5. 利用windows系统ftp命令编写的BAT文件上传[转]
  6. C# Redis实战(二) [转]
  7. C3p0实践
  8. 如何打开kernel最开始的打印
  9. A1079. Total Sales of Supply Chain
  10. linux 释放内存及查看内存命令
  11. docker 运行nginx并进入容器内部、端口映射
  12. 设计模式 笔记 策略模式 Strategy
  13. unity, WaterProDaytime注意事项。
  14. excel在msdn上的说明文档
  15. Effective C++:条款23:宁以non-member、non-friend替换member函数
  16. Spring常用jar包的功能
  17. git call failed: [git clone Could not resolve host: git.openstack.org
  18. 几何+线段交点+spfa(POJ1066)
  19. shell备份文件时加上时间戳
  20. java操作HDFS

热门文章

  1. java 代理模式,观察者模式
  2. android 批量上传图片
  3. linux 密码破解
  4. eclipse导入svn中的web工程,部署到tomcat时候,只有WEB-INF目录问题
  5. 一款纯css3实现的发光屏幕旋转特效
  6. 扩展RBAC用户角色权限设计方案&lt;转&gt;
  7. JavaScript匿名类整理学习笔记
  8. 【BZOJ】1093: [ZJOI2007]最大半连通子图(tarjan+拓扑序)
  9. vs2010更新EF模型时报错
  10. Struts2_day03--OGNL的#、%使用