Javascript jquery focus命令没有';不能从chrome命令行工作
如果我有如下所述的文本页面。调用Javascript jquery focus命令没有';不能从chrome命令行工作,javascript,jquery,google-chrome,Javascript,Jquery,Google Chrome,如果我有如下所述的文本页面。调用$(“#target”).focus()工作正常。我还可以将该命令绑定到更真实页面中的事件 但是,如果我打开chrome控制台并键入$(“#target”).focus()它不会改变焦点。如果我运行$(“#target”).val(“某物”)它更改屏幕上的值,但不与焦点一起工作 显然这不是一个关键问题,但我真的很好奇为什么会发生这种情况。有人有主意吗 <html> <head> <script src="jquery-1.
$(“#target”).focus()标题中$()
部分的code>工作正常。我还可以将该命令绑定到更真实页面中的事件
但是,如果我打开chrome控制台并键入$(“#target”).focus()代码>它不会改变焦点。如果我运行$(“#target”).val(“某物”)代码>它更改屏幕上的值,但不与焦点一起工作
显然这不是一个关键问题,但我真的很好奇为什么会发生这种情况。有人有主意吗
<html>
<head>
<script src="jquery-1.9.1.js"></script>
<script>
$(function(){
$("#target").focus();
});
</script>
</head>
<body>
<input id="target" type="text">
</body>
</html>
$(函数(){
$(“#目标”).focus();
});
你会意识到,当点击Chrome控制台时,它会从当前页面上的任何输入或文本区域控件中窃取焦点,反之亦然。这是因为Chrome控制台实际上是使用与任何其他HTML页面相同的HTML控件实现的,只是具有特殊属性,例如,阻止Chrome递归地检查Chrome控制台
当您在Chrome控制台(即Chrome控制台的输入控件)中键入命令时,它将保持焦点。Chrome工程师可能会选择不同的实现方式,但在大多数情况下,用户会希望在启动命令后继续在Chrome控制台中键入,因此没有命令会从控制台释放焦点。一种可能的方式是:取消焦点/模糊控制。将其从视图中滚动出去。在Chrome控制台中输入聚焦命令。如果该网站将向上滚动到您的控件,您可以确保“聚焦”方法有效。有点像黑客,但有效
尝试用setTimeout:D
包装突出显示代码,并在计时器过期之前单击网页
ele2 = $('#input')
setTimeout(function(){ele2.focus()},4000);
如果您单击页面的选项卡使chrome窗口处于活动状态(使用Windows时),那么您试图从控制台中聚焦()的元素现在应该具有焦点。我也遇到了同样的问题,发现它确实在页面内转移了焦点,但它根本没有显示出来,因为从技术上讲,您位于不同的窗口中。@asifrc不在我的Chrome 24.0.x Mac 10.8.2上。是的,我不确定这一点,但在我的经验中,它适用于Windows(更新了我以前的评论)。这完全令人惊讶!我只是花了好几分钟在愤怒中专注()不起作用。。。因为我在控制台中测试它。谢谢