Jquery 将焦点放在文本框不工作上

Jquery 将焦点放在文本框不工作上,jquery,Jquery,我在灯箱中添加了文本框,我正试图将焦点放在它上,但它不起作用,请帮助 <!-- First attempt --> <input type="text" name="search" /> <script> $(document).ready(function(){ $('input[type="text"]').focus(); }); </script> <!-- Second att

我在灯箱中添加了文本框,我正试图将焦点放在它上,但它不起作用,请帮助

<!-- First attempt -->
<input type="text" name="search"  />

<script>
  $(document).ready(function(){
    $('input[type="text"]').focus();                
  });
</script>


<!-- Second attempt -->
<input type="text" name="search"  />

<script>
  $(document).ready(function(){    
    $('input[name="search"]').focus(); 
  });
</script>    

$(文档).ready(函数(){
$('input[type=“text”]”)。focus();
});
$(文档).ready(函数(){
$('input[name=“search”]”)。focus();
});

两者都不起作用。

试试$('input[name=search]')。focus()

问题可能在于您使用的是灯箱。您只能聚焦可见的元素,因此在页面加载完成后,您对
focus()
的调用不应该发生,而应该在您显示lightbox之后发生。@tianvh这是真的吗?我有一些想法,lightbox使用了
display:none
实际上表示元素甚至不在那里。可见/不可见(
visibility:hidden
),可以解决这个问题的方法更像是不透明度,可以很好地选择。但是我不是100%确定,如果我错了,请原谅:)@Dwza元素使用
display:none
样式仍然“在那里”(即在DOM中),但它们不会占用布局中的空间,而使用
可见性:hidden
它仍然会占用空间,但不可见。在这两种情况下,您都不能聚焦这样的元素。@tianvh它们当然在那里,否则您不能在
none
之后使用
display:block
或其他显示选项。我可以表达我的错误吗因此,我认为他可以通过编辑灯箱源代码并将
display:none
更改为
visibility:hidden
@Dwza否,输入必须可见才能接收焦点。此外,灯箱的全部意义在于,它在需要弹出之前是不可见的,只有在需要弹出时才可见。