Подтвердить что ты не робот

Как зарегистрировать событие document.onkeypress

Я хочу зарегистрировать события нажатия клавиш для документа с помощью javascript.

Я использовал:

document.attachEvent("onkeydown", my_onkeydown_handler);

Он отлично работает с IE, но не с Firefox и Chrome.

Я также пробовал:

document.addEventListener("onkeydown", my_onkeydown_handler, true); 
// (with false value also)

Но он все еще не работает с Firefox и Chrome.

Есть ли решение, я что-то упустил?

4b9b3361

Ответ 1

Вы ищете:

EDIT:

JavaScript:

document.addEventListener("keydown", keyDownTextField, false);

function keyDownTextField(e) {
var keyCode = e.keyCode;
  if(keyCode==13) {
  alert("You hit the enter key.");
  } else {
  alert("Oh no you didn't.");
  }
}

DEMO: JSFIDDLE

Ответ 2

Возможно, вы ищете:

document.body.addEventListener('keydown', function (e) {
    alert('hello world');
});​​​​​​​

Но почти наверняка стоит потратить ваше время на использование существующей библиотеки, чтобы абстрагироваться от проблем многих браузеров.

Ответ 3

Имя события для addEventListener() равно keydown, а не onkeydown.

Кроме того, вы должны прикрепить обработчик события к элементу триггера, а не к document.