Событие onkeypress не запускается, т.е. - PullRequest
0 голосов
/ 15 февраля 2012
$(".tbSearchBox").keyup(function (event) {
    if (event.keyCode == 13) {
        alert("ye");
        searchSet = $(this).val();
        $(".btnSerachButton").click();
    }
});

Я использую приведенный выше код, чтобы определить, набрал ли пользователь что-то в поле поиска, а затем нажать клавишу ввода вместо нажатия кнопки поиска.это работает для всех браузеров, кроме IE.IE может прочитать событие on keyup, но обходит используемый оператор if.Есть идеи почему?

Ответы [ 3 ]

1 голос
/ 15 февраля 2012
var code = (event.keyCode ? event.keyCode : event.which);

или, может быть, даже

var code = event.keyCode || event.which;
1 голос
/ 15 февраля 2012

Существует некоторая несовместимость в том, что касается события и кода ключа, поэтому, чтобы сделать его совместимым с браузером, попробуйте это

$(".tbSearchBox").keypress(function (event) {
    var ev = event || window.event;
    var key = ev.keyCode || ev.which || ev.charCode;
    if (key == 13) {
        ev.preventDefault();
        alert("ye");
        searchSet = $(this).val();
        $(".btnSerachButton").click();
    }
});
0 голосов
/ 15 февраля 2012

Вы должны использовать event.which здесь для нормализации event.keyCode и event.charCode:

if (event.which == 13) ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...