событие нажатия клавиш не работает в Chrome - PullRequest
0 голосов
/ 04 октября 2011

У меня есть форма asp.net с двумя текстовыми полями и одной кнопкой. Я реализовал код для запуска события нажатия кнопки при нажатии клавиши ввода.

<asp:LinkButton ID="statementSearchButton" runat="server" OnClick="GetSearchResults" class="enterButton">
</asp:LinkButton>

$(document).keydown(function (event) {
        if (event == undefined) {
            event = window.event;
        }
        if (event.keyCode == 13) {
            $('.enterButton').focus();
            $('.enterButton').click();
        }
    });

Это прекрасно работает в IE и Firefox, но не в Chrome. Я отладил JS в Chrome, используя инструменты разработчика, и обнаружил, что операторы внутри ключевого кода == 13, если блок выполняется, но событие click как-то не срабатывает. Есть идеи, чтобы решить эту проблему?

1 Ответ

2 голосов
/ 09 мая 2012

У меня отлично работает.

Я использую JQuery 1.7.2 и Google Chrome 18.0.1025.168 (Официальная сборка 134367)

$(document).keydown(function (event) {
    if (event == undefined) {
        event = window.event;
    }
    if (event.keyCode == 13) {
        alert("keyCode 13");
        $('#kplay').focus();
        $('#kplay').click();
    }
 });

$("#kplay").click(function(event) {
   alert('#kplay clicked');
});

Я также проверил .kplay вместо #kplay, и это сработало без проблем.

$(document).keydown(function(event){
    if (event.which == 13) $('.kplay').click();
});
...