Вы можете предотвратить выполнение действия комбинации клавиш по умолчанию с помощью функции preventDefault :
function KeyPress(e) {
e.preventDefault();
var evtobj = window.event ? event : e;
if (evtobj.keyCode == 80 && evtobj.ctrlKey) {
console.log("Key combination: Ctrl + p");
}
}
document.onkeydown = KeyPress;
Предложение document.onkeydown
добавляет функцию события ко всему документу, поэтому он будет срабатывать, когда какой-либо элемент на веб-сайте выбран / сфокусирован.
К сожалению, в этом сообщении есть ответ на подобный Как захватить командную клавишу Mac через JavaScript? , для командной клавиши iOS нет стандартного кода, и он зависит от браузера:
- Firefox: 224
- Opera: 17
- Браузеры WebKit (Safari / Chrome): 91 (левая команда) или 93 (правая команда)
Вы можете проверить коды клавиш здесь: https://keycode.info/