vueリスニングページショートカットキー(保存、コピー)


1、created
created() {
     
    document.addEventListener('click', this.handleKeyClick)
    document.addEventListener('keydown', this.handleKeyDown)
    document.addEventListener('keyup', this.handleKeyUp)
  },

2、methods
handleKeyClick(e) {
     
      if (e.target.className !== 'right-menu') {
     
        this.showMenu = false
      } else {
     
        this.showMenu = true
      }
    },
    handleKeyDown(e) {
     
      console.log(e)
      if (this.arrKey.length > 0) {
      // a-z        
        if (this.arrKey.indexOf(e.key.toLowerCase()) >= 0) {
     
          return
        }
      }
      this.arrKey.push(e.key.toLowerCase())
      this.keydown = this.arrKey.join('+')
      console.log('>>>>>>>>keydown')
      console.log(this.keydown)
      if (this.keydown === 'alt+shift+c') {
     
        this.keydown = ''
        this.copyPathAction()
        e.preventDefault() //           
      }
      if (this.keydown === 'ctrl+s') {
     
        this.keydown = ''
        console.log('>>>>   ')
        e.preventDefault() //           
      }
    },
    handleKeyUp(e) {
     
      this.arrKey.splice(this.arrKey.indexOf(e.key.toLowerCase()), 1)
      this.keydown = this.arrKey.join('+')
      e.preventDefault() //           
    }

3、破壊!!!
destroyed() {
     
    document.removeEventListener('click', this.handleKeyClick)
    document.removeEventListener('keydown', this.handleKeyDown)
    document.removeEventListener('keyup', this.handleKeyUp)
  },