vue 登陆页面回车键登陆事件在其他页面也会被触发


问题描述

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); // 移除事件监听器
},
GitHub 加速计划 / vu / vue
207.54 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 4 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐