将焦点设置在按钮上不起作用

发布于 2024-12-10 04:57:04 字数 276 浏览 2 评论 0原文

我试图在用户按文本框中的 Enter 键时将焦点设置到按钮。但它不起作用。我使用的是 Internet Explorer 8 浏览器。我错过了什么吗?

$("input.Box").live('keydown', function(e) {
    if (e.keyCode == 13) {
        e.preventDefault(); 
        $("#button").focus(); // Not working?
    }
});

I am trying to set the focus to a button while the user presses the Enter key in the text box. But it is not working. I am using the Internet Explorer 8 browser. Am I missing something?

$("input.Box").live('keydown', function(e) {
    if (e.keyCode == 13) {
        e.preventDefault(); 
        $("#button").focus(); // Not working?
    }
});

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

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

发布评论

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

评论(4

流云如水 2024-12-17 04:57:04

问题是 IE 的响应速度不够快,因此您需要在输入 live 函数和 .focus() 之间添加一个小的延迟。叫。因此,请将

$("#button").focus();

替换为

setTimeout(function () {
 $('#button').focus();
}, 100);

This,并将 e.whiche.keyCode 结合使用正如 Blender 建议的那样应该可以解决你的问题。

The problem is that IE is not able to respond quickly enough, so you need to add a small delay between when the live function is entered, and when .focus() is called. So, replace

$("#button").focus();

with

setTimeout(function () {
 $('#button').focus();
}, 100);

This, in conjunction with using e.which with e.keyCode as Blender suggested should fix your issue.

荭秂 2024-12-17 04:57:04

Microsoft 决定不喜欢 e.keyCode,而是采用自己的语法 e.which

您必须检查两者:

$("input.Box").live('keydown', function(e) {
    var keyCode = (window.event) ? e.which : e.keyCode;

    if (keyCode == 13)
        e.preventDefault(); 
        $("#button").focus(); // Not working?
    }
});

Microsoft decided that they don't like e.keyCode and instead have their own syntax, e.which.

You have to check for both:

$("input.Box").live('keydown', function(e) {
    var keyCode = (window.event) ? e.which : e.keyCode;

    if (keyCode == 13)
        e.preventDefault(); 
        $("#button").focus(); // Not working?
    }
});
無心 2024-12-17 04:57:04

你确定名字正确吗? .NET 有重命名事物的习惯。您不指定语言或环境。

尝试使用类选择器。为按钮指定类名称 class="Test",然后使用 $(".Text").focus() 进行选择。

Are you sure the name is correct? .NET has a habit of renaming things. You don't specify the language or environment.

Try to use the class selector. Give the button a class name of class="Test" and then select using $(".Text").focus().

初相遇 2024-12-17 04:57:04

在尝试设置焦点之前,请确保 DOM 已准备好、元素存在。

Make sure the DOM is ready, element exists, before attempting to set focus.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文