VUE3.0 使用全局快捷键

Posted bywayboy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VUE3.0 使用全局快捷键相关的知识,希望对你有一定的参考价值。

vue3.0中 使用全局快捷键是比较容易的, 我们可以通过监听document.onkeypress 或者 onkeydown 来实现.

1. 首先编写一个全局快捷键类, 

import  inject  from "@vue/runtime-core";

const rkey = \'r-shortcut-key\'

function RKeyMap()
    var map = ;
    this.bind = (skey, fn)=>
        map[skey] = fn;
        return this;
    
    this.evt = (k) =>
        if(map.hasOwnProperty(k))
            map[k]();return true;
        
        return false;
    



let ShortCutKey = function()

    let keys = [], me = this;

    document.onkeydown = function(e)
        if(keys.length > 0)
            let ka = [];
            if(e.ctrlKey) ka.push(\'Ctrl\');
            if(e.shiftKey)ka.push(\'Shift\');
            if(e.altKey) ka.push(\'Alt\');
            ka.push(e.key.toUpperCase());
            let kname = ka.join(\'+\');
            if(keys[keys.length-1].evt(kname))
  

以上是关于VUE3.0 使用全局快捷键的主要内容,如果未能解决你的问题,请参考以下文章

同一电脑上安装且使用vue2.0和vue3.0版本

Vue3 如何挂载全局方法 和用getCurrentInstance代替this

Vue3.0全家桶最全入门指南 - vue3.0新特性 (2/4)

vue3.0快速上手教程之vue--组件02

vue2.0和vue3.0中自定义指令(directive)的区别

vue3.0用vue-awesome-swiper