Вы бы прикрепили обработчик событий onkeydown
или onkeyup
к глобальному объекту document
. Например, если бы я хотел, чтобы строка заголовка менялась на «asdf» при каждом нажатии Ctrl-M, я бы регистрировал обработчик событий через window.onload
, например:
window.onload = function()
{
document.onkeydown = function(event)
{
var keyCode;
if (window.event) // IE/Safari/Chrome/Firefox(?)
{
keyCode = event.keyCode;
}
else if (event.which) // Netscape/Firefox/Opera
{
keyCode = event.which;
}
var keyChar = String.fromCharCode(keyCode).toLowerCase();
if (keyChar == "m" && event.ctrlKey)
{
document.title = "asdf";
return false; // To prevent normal minimizing command
}
};
};
W3Schools имеет больше информации об использовании этих событий: onkeydown
и onkeyup
.
Также, я думаю, я должен отметить, что в браузерах есть некоторые расхождения в отношении свойств события (как, например, в Firefox, вы должны получить доступ к коду ключа через event.which
, в то время как в IE это event.keyCode
, хотя Firefox может поддерживать event.keycode
- сбивает с толку, не так ли?). В связи с этим, я бы порекомендовал делать это через среду JavaScript, такую как Prototype или jQuery , так как они позаботятся обо всех проблемах совместимости icky.