繁体   English   中英

按下按键 CTRL + T 时打开链接 Javascript, Repl.it

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM