最近项目中有个需求,使用快捷键,然后就自行开发了一个库用来监听组合键,具体参考下面的demo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body></body>
<script>
function combinationKey(keys) {
let combinationKeyList = []
let keyQueue = []
const mouseMap = Object.values(combinationKey.MOUSE)
if (!keys) {
console.warn('needs keys array')
return
}
combinationKeyList = keys
const dispatchForCode = (event) => {
return new Promise((resolve) => {
let code = undefined
if (event.key !== undefined) {
code = event.key
} else if (event.keyCode !== undefined) {
// 未对 keyCode 做兼容
code = event.keyCode
}
resolve(code)
})
}
function keyDownTrigger(e)