<textarea id="demo" rows="6" cols="35" onfocus="focusIng=true" onblur="focusIng=false"></textarea>
使用
原生js监听键盘点击事件,自定义组合键
中的快捷键方法
let pressedKeys = [];let quickKeys = {send: 'enter',newline: 'control,enter',}let focusIng = false;document.addEventListener("keydown", function (e) {if (e.key.toLowerCase() == 'enter') {if (focusIng) {e.preventDefault();}}if (!pressedKeys.includes(e.key.toLowerCase())) {pressedKeys.push(e.key.toLowerCase());}});document.addEventListener("keyup", function (e) {switch (pressedKeys.toString()) {case quickKeys.send:console.log('按下了 发送 快捷键');break;case quickKeys.newline:console.log('按下了 换行 快捷键');if(focusIng) {let elem = document.getElementById('demo');elem.value += '\n';}break;}pressedKeys = pressedKeys.filter((item, index, arr) => {return item != e.key.toLowerCase();});if(pressedKeys.length != 1 || pressedKeys[0] != 'control') {pressedKeys = [];}});
