iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >VueElement-ui键盘事件失效的解决
  • 294
分享到

VueElement-ui键盘事件失效的解决

VueElement-ui键盘事件失效Element-ui键盘事件 2022-11-13 18:11:14 294人浏览 薄情痞子
摘要

目录Element-ui 键盘事件失效按键修饰符使用element-ui时监听登录界面全局键盘回车事件方法一方法二Element-ui 键盘事件失效 按键修饰符 Vue中提供了一些按

Element-ui 键盘事件失效

按键修饰符

Vue中提供了一些按键修饰符,开发者可以直接通过按键修饰符捕捉键盘事件

Vue 允许为 v-on 在监听键盘事件时添加按键修饰符:

  • .enter
  • .tab
  • .delete (捕获“删除”和“退格”键)
  • .esc
  • .space
  • .up
  • .down
  • .left
  • .right

例如:.enter

<!-- 只有在 `key` 是 `Enter` 时调用 `vm.submit()` -->
<input v-on:keyup.enter="submit">

但是在开发过程中会遇到不生效的情况,此时我们需要加上 .native 按键修饰符

注意:只适用于 input 框 获得焦点 时按下回车时生效,失去焦点时,此功能仍不可用

<input v-on:keyup.enter.native="submit">

如果是 **button** 按钮,那么应该把它绑定在 **document** 上:

<el-button type="primary" @keyup.enter.native="submitFORM('ruleForm')">去登录</el-button>

正确代码:

    // 在 created 生命周期钩子函数里写
    created:function(){
        // 主页添加键盘事件,不可以直接在焦点事件上添加回车
        var that=this;
        document.οnkeydοwn=function(event){
           var key=window.event.keyCode;  // 事件对象的 keyCode
              if(key==13){
                 that.submitForm('ruleForm');
            }
        }
    }

使用element-ui时监听登录界面全局键盘回车事件

方法一

<el-form-item prop="account">      
<el-input v-on:keyup.enter.native="handleSubmit2()" style="color: #ffffff" type="text" v-model="ruleForm.account" auto-complete="off" placeholder="账号"></el-input>
</el-form-item>

如果用了element-ui的话要在后面加上native,不然被包裹不能读取到,这种写法只能在鼠标点击输入框的时候按回车才有用

方法二

在export default里面添加钩子函数

export default {
  created() {
    var _self = this
 
    document.onkeydown = function(e) {
      var key = window.event.keyCode
 
      if (key === 13) {
        _self.handleSubmit2()
      }
    }
  },
  beforeDestroy() {
    document.onkeydown = function(e) {
      var key = window.event.keyCode
 
      if (key === 13) {
 
      }
    }
  },

如果只有created函数的话那么在其他界面按回车会依然调用函数,造成错误的页面跳转,所以要离开这个界面是要取消。

这样写就可以实现在该页面键盘回车实现登录 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: VueElement-ui键盘事件失效的解决

本文链接: https://www.lsjlt.com/news/169490.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作