Jquery 在按钮上设置焦点不起作用
我试图在用户按下文本框中的Enter键时将焦点设置为按钮。但它不起作用。我正在使用InternetExplorer8浏览器。我错过什么了吗Jquery 在按钮上设置焦点不起作用,jquery,setfocus,Jquery,Setfocus,我试图在用户按下文本框中的Enter键时将焦点设置为按钮。但它不起作用。我正在使用InternetExplorer8浏览器。我错过什么了吗 $("input.Box").live('keydown', function(e) { if (e.keyCode == 13) { e.preventDefault(); $("#button").focus(); // Not working? } }); 您确定名称正确吗?有重命名事物的习惯。您没有
$("input.Box").live('keydown', function(e) {
if (e.keyCode == 13) {
e.preventDefault();
$("#button").focus(); // Not working?
}
});
您确定名称正确吗?有重命名事物的习惯。您没有指定语言或环境
尝试使用类选择器。给按钮一个类名
class=“Test”
,然后选择使用$(“.Text”).focus()
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?
}
});
问题是IE响应不够快,因此需要在输入
live
函数和调用.focus()
之间添加一个小延迟。那么,替换
$(“#按钮”).focus()代码>
与
这与Blender建议的使用e.which
和e.keyCode
相结合,应该可以解决您的问题。在尝试设置焦点之前,确保DOM准备就绪,元素存在 他没有尝试将按钮集中在文档加载上。
setTimeout(function () {
$('#button').focus();
}, 100);