首页前端开发JavaScriptvue监听键盘事件的相关总结

vue监听键盘事件的相关总结

时间2024-01-31 20:14:03发布访客分类JavaScript浏览1125
导读:收集整理的这篇文章主要介绍了vue监听键盘事件的相关总结,觉得挺不错的,现在分享给大家,也给大家做个参考。 按键修饰符在监听键盘事件时,我们经常需要检查详细的按键。Vue 允许为 v-o...
收集整理的这篇文章主要介绍了vue监听键盘事件的相关总结,觉得挺不错的,现在分享给大家,也给大家做个参考。

按键修饰符

在监听键盘事件时,我们经常需要检查详细的按键。Vue 允许为 v-on 在监听键盘事件时添加按键修饰符:

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

你可以直接将 KeyboardEvent.key 暴露的任意有效按键名转换为 kebab-case 来作为修饰符。

input v-on:keyup.page-down="onPageDown">
    

为了在必要的情况下支持旧浏览器,Vue 提供了绝大多数常用的按键码的别名:

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

你还可以通过全局 config.keyCodes 对象自定义按键修饰符别名: 

// 可以使用 `v-on:keyup.F1`Vue.config.keyCodes.f1 = 112

系统修饰键

可以用如下修饰符来实现仅在按下相应按键时才触发鼠标或键盘事件的监听器。 

  • - .ctrl 
  • - .alt 
  • - .shift 
  • - .meta

Do something
与按键别名不同的是,修饰键和 keyup 事件一起用时,事件引发时必须按下正常的按键。换一种说法:如果要引发 keyup.ctrl,必须按下 ctrl 时释放其他的按键;单单释放 ctrl 不会引发事件。

!-- 按下Alt + 释放C触发 -->
    input @keyup.alt.67="clear">
     !-- 按下Alt + 释放任意键触发 -->
    input @keyup.alt="other">
    !-- 按下Ctrl + enter时触发 -->
    input @keydown.ctrl.13="submit">
    

对于elementUI的input,我们需要在后面加上.native, 因为elementUI对input进行了封装,原生的事件不起作用。

input v-model="form.name" placeholder="昵称" @keyup.enter="submit">
    el-input v-model="form.name" placeholder="昵称" @keyup.enter.native="submit">
    /el-input>
    

.exact修饰符

.exact 修饰符允许你控制由精确的系统修饰符组合触发的事件。 

!-- 即使 Alt 或 Shift 被一同按下时也会触发 -->
    button v-on:click.ctrl="onClick">
    A/button>
    !-- 有且只有 Ctrl 被按下的时候才触发 -->
    button v-on:click.ctrl.exact="onCtrlClick">
    A/button>
    !-- 没有任何系统修饰符被按下的时候才触发 -->
    button v-on:click.exact="onClick">
    A/button>
    

鼠标按钮修饰符

  • .left 
  • .right 
  • .middle

这些修饰符会限制处理函数仅响应特定的鼠标按钮。 

系统按键组合

如果我们要监听全局的按键操作方法,显然,将其绑定在页面元素上是不行的。

我们可在mounted里面监听:

mounted() {
  document.onkeydown = function (event) {
        let key = window.event.keyCode;
        if (key === 65 &
    &
 event.ctrlKey) {
           // 监听ctrl+A组合键            window.event.preventDefault();
 //关闭浏览器默认快捷键            console.LOG('crtl+ a组合键')        }
     else if(key === 83 &
    &
 event.ctrlKey) {
                 window.event.PReventDefault();
     //关闭浏览器快捷键      console.log('保存');
    }
  }
}
    

从以上例子可以看出,shift、Control、Alt 在JS中也可用“window.event.shiftKey”、“window.event.ctrlKey”、“window.event.altKey” 代替。

附录-键盘按钮keyCode表

以上就是vue监听键盘事件的相关总结的详细内容,更多关于vue监听键盘事件的资料请关注其它相关文章!

您可能感兴趣的文章:
  • vue 项目软键盘回车触发搜索事件
  • 对vue 键盘回车事件的实例讲解
  • vue监听键盘事件的快捷方法【推荐】
  • Vue键盘事件用法总结
  • 详解Vue的键盘事件

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

vue监听事件

若转载请注明出处: vue监听键盘事件的相关总结
本文地址: https://pptw.com/jishu/594426.html
c++标识符命名规则 typedef在c语言中是什么意思

游客 回复需填写必要信息