[英]Open link when Keystroke CTRL + T is pressed Javascript, Repl.it
当我执行按键分配 CTRL + T 时,我试图打开一个链接,但我不知道如何。 有人可以通过示例帮助我完整描述。 我也在使用编码平台 Repl.it
我认为您不能覆盖Ctrl
+ T
,它是在浏览器中打开新标签的本机快捷方式。
下面的代码将为Ctrl
+ A
添加一个快捷方式。
const addPressKeyShortcutListener = (keysOrder, callback) => { let pressedKeys = []; const handleKeyDown = (e) => { const isAlreadyTracked = pressedKeys.includes(event.key); if (isAlreadyTracked) { return; } pressedKeys.push(event.key); console.log('Pressed', pressedKeys.join(' + ')); const isShortcutPressed = keysOrder.join(' + ') === pressedKeys.join(' + '); if (isShortcutPressed) { callback(); } } const handleKeyUp = (e) => { const lastPressed = pressedKeys[pressedKeys.length - 1]; const shouldRemoveOnlyLast = lastPressed === event.key; if (shouldRemoveOnlyLast) { pressedKeys.pop(); console.log('Pressed', pressedKeys.join(' + ')); return; } pressedKeys = []; console.log('Pressed', pressedKeys.join(' + ')); } document.addEventListener('keydown', handleKeyDown); document.addEventListener('keyup', handleKeyUp); const removePressKeyShortcutListener = () => { document.removeEventListener('keydown', handleKeyDown); document.removeEventListener('keyup', handleKeyUp); } return { removePressKeyShortcutListener, } }; addPressKeyShortcutListener(['Control', 'a'], () => console.info('Ctrl + a clicked;'));
要删除快捷方式,我们可以使用removePressKeyShortcutListener
。
const {
removePressKeyShortcutListener,
} = addPressKeyShortcutListener(['Control', 'a'], () => console.log('Ctrl + a clicked!'));
removePressKeyShortcutListener();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.