原因
确认鼠标是否在当前页面窗口。鼠标如果是在插件的侧边栏(sidepanel)触发或者浏览器控制台 console 中执行的 js 代码,则页面无法获取鼠标并聚焦到元素上。
浏览器控制台
这就是浏览器控制台(包括浏览器插件侧边栏)的工作方式。运行每个命令后,控制台将获得焦点。因此,焦点不适用于来自控制台的其他输入。
若要测试它,请在控制台中运行此代码。
setTimeout(function(){$(".input.input-search").focus()},5000);
执行后,立即单击页面上的任意位置以将焦点从控制台上移开。现在 5 秒后,焦点将设置在输入上。