在RHEL5中,Firefox无法将焦点转移到另一个文本输入
Can't shift focus to another text input in Firefox in RHEL5
我正在尝试这个简单的代码:
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$(".foo").bind("contextmenu",function(){
$(".boo").focus();
});
});
</script>
</head>
<body>
<input type = 'text' class = 'foo' /><input type = 'text' class = 'boo' />
</body>
</html>
它应该做的是在第一个文本输入上右键单击时将焦点转移到第二个文本输入。这在Windows上的浏览器中工作得很好,但在RHEL5
中,当检查Firefox时,这不会发生,并且焦点仍然留在第一个。
我试着把逻辑改成这样:
$(".foo").click(function(e) {
if (e.which == 3)
$(".boo").focus();
});
还是不行。但是,如果我将最后一个代码更改为if (e.which == 1)...
,则焦点会在单击时转移,而不是右键单击。这个问题发生在RHEL5
的Firefox, Firefox, Chrome在Mac.然而,它在Mac上的Safari和Opera工作良好。
我该如何解决这个问题?
首先将输入类更改为id,这里更合适
<input type="text" id="foo" /><input type="text" id="boo" />
那么试试这个,简单的javascript,不需要jQuery。
document.getElementById("foo").onfocus = function(){
document.getElementById("boo").focus();
}
编辑:在OP的原始代码中使用超时的工作解决方案:
setTimeout(function(){$(".boo").focus()}, 0)
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 单击时将焦点更改为元素
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- 在IE9中的输入字段中输入焦点最近按钮
- Javascript游戏输入失去焦点
- ExtJS网格单元格编辑器,防止焦点松动问题
- 检查元素是如何获得焦点的
- angularjs移除焦点上的活动类并添加到下一个项目
- Don'不允许将焦点集中在自动完成的选择上
- 当点击另一件事时,将焦点设置为一件事
- 文本框焦点上的自动完成菜单
- 如何检测哪个窗口是焦点
- Chrome(Android)键盘将单词转移到js焦点更改的下一个输入
- 在 JavaScript 中使用箭头键转移焦点
- 如何使用jquery将焦点转移到滚动条
- 当gn模型为true时,如何将焦点转移到输入上
- 当第一个文本框的值为maxLenght=3时,如何将焦点转移到第二个文本框上
- HTML选择元素的焦点转移问题
- 在RHEL5中,Firefox无法将焦点转移到另一个文本输入