При работе с большим количеством возможных keyCode
(например, для горячих клавиш) мы хотели бы использовать оператор switch
.
Мы не хотим запрещать все комбинации Ctrl + другую клавишу для сохранения другого конструктора горячие клавиши .
Мы хотели бы предотвратить действие по умолчанию только для определенных случаев. Но как это сделать один раз?
Я думаю, что упускаю что-то действительно очевидное.
document.addEventListener("keydown", function(e) {
var key = e.keyCode || e.which;
if (!e.ctrlKey) return false;
switch(key) {
case 109: e.preventDefault(); scale(-1); break;
case 107: e.preventDefault(); scale(1); break;
case 96: e.preventDefault(); scale(0);break;
case 78: e.preventDefault(); newFile();break;
case 79: e.preventDefault(); openFile();break;
case 80: e.preventDefault(); printFile();break;
case 83: e.preventDefault(); saveFile();break;
case 66: e.preventDefault(); command("bold");break;
case 73: e.preventDefault(); command("italic");break;
case 85: e.preventDefault(); command("underline");break;
case 76: e.preventDefault(); command("justifyLeft");break;
case 69: e.preventDefault(); command("justifyCenter");break;
case 82: e.preventDefault(); command("justifyRight");break;
case 74: e.preventDefault(); command("justifyFull");break;
case 90: e.preventDefault(); clipboard.undo();break;
case 89: e.preventDefault(); clipboard.redo();break;
default: console.log("Key pressed n°", key)
}
}, false);