vue全局监听组合键

801 阅读1分钟
mounted() {

let code = 0;

let code2 = 0;

document.onkeydown = function (e) {

  let evn = e || event;
  
  let key = evn.keyCode || evn.which || evn.charCode;
  
  if (key === 17) {
  
    code = 1;
    
  }
  
  if (key === 13) {
  
    code2 = 1;
    
  }
  
  if (code === 1 && code2 === 1) {
  
    console.log("Ctrl+Enter");
    code = 0;
    code2 = 0;
  }
  
};

document.onkeyup = function (e) {

  if (e.keyCode === 17) {
  
    code = 0;
    
  }
  
  if (e.keyCode === 13) {
  
    code2 = 0;
    
  }
  
};

},`
  • 其他两种情况

  • ctrl 和 alt

    mounted() {
    document.onkeydown = function (event) {
      let key = window.event.keyCode;
      if (event.ctrlKey) {
        // 监听ctrl
        window.event.preventDefault(); //关闭浏览器默认快捷键
        switch (key) {
          case 81:
            console.log("ctrl+q");
            break;
    
            default:
              break;
          }
        } else if (event.altKey)
        {
         // 监听alt
          window.event.preventDefault(); //关闭浏览器快捷键
          switch (key) {
            case 81:
              console.log("alt+q");
              break;
    
            default:
              break;
          }
        }
      };
    },`