keydown 事件在 Chrome 中不起作用

发布于 2024-12-08 03:22:52 字数 603 浏览 0 评论 0原文

我有一个带有两个文本框和一个按钮的 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 中不行。我使用开发工具调试了 Chrome 中的 JS,发现 keycode == 13 if 块内的语句被执行,但 click 事件没有以某种方式被触发。有办法解决这个问题吗?

I have an asp.net form with two textboxes and one button. I have implemented the code to fire the click event of the button on enter key press.

<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();
        }
    });

This works fine in IE and Firefox but not in Chrome. I debugged the JS in Chrome using Developer tools and found that the statements inside the keycode == 13 if block are executed but the click event is not getting fired somehow. Any idea to fix this problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉城 2024-12-15 03:22:52

它对我来说效果很好。

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

It works fine for me.

I'm using JQuery 1.7.2, and Google Chrome 18.0.1025.168 (Official Build 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');
});

I also checked with .kplay instead of #kplay, and that worked without issue.

$(document).keydown(function(event){
    if (event.which == 13) $('.kplay').click();
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文