keydown事件在Chrome中无效

时间:2011-10-04 08:07:46

标签: jquery asp.net google-chrome keydown

我有一个带有两个文本框和一个按钮的asp.net表单。我已经实现了代码以在按下回车键时触发按钮的click事件。

<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。我使用开发人员工具在Chrome中调试了JS,并发现keycode == 13中的语句是否执行了块但是click事件没有以某种方式被触发。有什么想法解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

对我来说很好。

我正在使用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();
});