Как прослушать ввод текста с клавиатуры в Javascript? - PullRequest
8 голосов
/ 06 декабря 2010

Я хочу получить набранный текст с клавиатуры, а не код клавиши.Например, я нажимаю Shift + F, я получаю «F» вместо прослушивания двух клавиш кодаДругой пример, я нажимаю F3, я ничего не вводил.Как я могу знать это в JS?Спасибо.

Ответы [ 4 ]

20 голосов
/ 06 декабря 2010

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

document.onkeypress = function(e) {
    e = e || window.event;
    var charCode = (typeof e.which == "number") ? e.which : e.keyCode;
    if (charCode) {
        alert("Character typed: " + String.fromCharCode(charCode));
    }
};

По всем вопросам, связанным с ключами JavaScript, я рекомендую отличную статью Яна Вольтера: http://unixpapa.com/js/key.html

2 голосов
/ 06 декабря 2010

Я использую jQuery, чтобы сделать что-то вроде этого:

$('#searchbox input').on('keypress', function(e) {

    var code = (e.keyCode ? e.keyCode : e.which);
  if(code == 13) { 
           //Enter keycode
     //Do something
  }

});

РЕДАКТИРОВАТЬ: Поскольку вы не привязываетесь к текстовому полю, используйте:

$(window).on('keypress', function(e) {

    var code = (e.keyCode ? e.keyCode : e.which);
  if(code == 13) { 
           //Enter keycode
     //Do something
  }

});

http://docs.jquery.com/Main_Page

0 голосов
/ 06 декабря 2010

Это слишком сложно, чтобы ответить быстро. Это то, что я использую в качестве окончательного справочника по работе с клавиатурой. http://unixpapa.com/js/key.html

0 голосов
/ 06 декабря 2010

Вы можете прослушать событие onkeypress.Однако вместо того, чтобы просто исследовать свойство event.keyCode (IE) или event.which (Mozilla), которое дает вам код ключа, вам нужно перевести код ключа , используя String.fromCharCode().

Хорошая демонстрация на Javascript Char Codes (Key Codes) .Просмотрите исходный код и найдите функцию displayKeyCode(evt).

Дополнительные ссылки: w3schools - onkeypress Событие и w3schools - JavaScript из метода CharCode () .

...