问题描述
vue 登陆页面回车键登陆事件在其他页面也会被触发
created() {
let that = this
document.onkeypress = function (e) {
let keycode = document.all ? event.keyCode : e.which
if (keycode == 13) {
that.handleLogin('loginForm')// 登录方法
return false
}
}
},
解决方案
使用
document.addEventListener
监听keypress
mounted() {
document.addEventListener('keypress', this.handleKeyPress); // 添加事件监听器
},
methods: {
// ------------------ 回车键事件 ------------------
handleKeyPress(event) {
// 事件处理逻辑
const { keyCode } = event
if (keyCode == 13) {
this.handleLogin('loginForm')// 登录方法
}
},
},
beforeDestroy() {
document.removeEventListener('keypress', this.handleKeyPress); // 移除事件监听器
},