<DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr" lang="en">
<head>
<script src="../js/third_party/jq142unmin.js"></script>
<script>
$(document).ready(function(){
$("#set_focus1").click(function(){
console.log($("#input1").focus());
});
$("#set_focus2").click(function(){
console.log($("#input2").focus());
});
});
</script>
</head>
<body>
<input id="input1"></input>
<input id="input2"></input>
<button id="set_focus1">Set Focus1</button>
<button id="set_focus2">Set Focus2</button>
</body>
</html>
代码本身就像我觉得应该,例如,点击设置集中在一个输入或其他的按钮。但是,如果我从控制台尝试同样的事情,它不起作用(没有错误消息,只是没有做任何事情)。我尝试了几种不同的方式,如上所示。
在控制台上对这些输入元素执行的其他jQuery函数,例如。 $(“#input1”)。val(“foo”),像我所期望的那样工作。 focus()有什么不同?
所以代码的工作原理与设置焦点时一样,但是当您从控制台运行它时,它什么也不做?你在做什么? .focus()的工作原理 - 如前所述 – Amd4632
当您输入焦点时,焦点停留在控制台上。它不能移动到浏览器窗口。 JavaScript代码只能将焦点从浏览器窗口的一部分移到另一部分。 –
问题应该是“为什么xxx不能在控制台中工作”。答案是:不要打扰 – Peter