vueリスニングページショートカットキー(保存、コピー)
1、created
2、methods
3、破壊!!!
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)
},