我正在尝试这个相当简单的代码。只要第一个上有 mouseup
,它就应该将焦点转移到相邻的文本输入:
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script>
$(document).ready(function() {
$(".foo").mouseup(function() {
$(".boo").focus();
});
});
</script>
</head>
<body>
<input type='text' class='foo' />
<input type='text' class='boo' />
</body>
</html>
在除IE9
以外的所有浏览器中(我不敢在IE8
或以下版本测试!),左键和右键(右键)都可以正常工作按钮 mouseup
,即使焦点转移到第二个输入,上下文菜单仍会在第一个输入上弹出)。然而,在 IE9
中,焦点仍然停留在第一个文本输入上(上下文菜单也会在那里弹出)。
有什么方法可以解决它,使焦点转移到第二个吗?
最佳答案
.select() in ie 应该可以工作:
$(document).ready(function(){
$('.foo').mouseup(function() {
$('.boo').focus();
});
$('.foo').contextmenu(function() {
$('.boo').select();
return false;
});
});
还通过返回 false 处理了上下文菜单。 希望有所帮助!
关于javascript - IE9文本输入焦点异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15057307/