簡體   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