Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome-专注于输入和#x27;行不通_Javascript_Jquery_Html_Google Chrome - Fatal编程技术网

Javascript Chrome-专注于输入和#x27;行不通

Javascript Chrome-专注于输入和#x27;行不通,javascript,jquery,html,google-chrome,Javascript,Jquery,Html,Google Chrome,我想在显示输入时将焦点添加到输入上。在Firefox和InternetExoplorer中,它工作正常,但只有在Chrome中不工作 Jquery代码: $(document).ready(function() { $('.magnifier').click(function() { $('.search').slideToggle("slow"); setTimeout(function() { $('.input-search').focus(); }, 0);

我想在显示输入时将焦点添加到输入上。在Firefox和InternetExoplorer中,它工作正常,但只有在Chrome中不工作

Jquery代码:

$(document).ready(function() {
 $('.magnifier').click(function() {
  $('.search').slideToggle("slow");
   setTimeout(function() {
     $('.input-search').focus();
   }, 0);
 });
});
<a class="magnifier" style="cursor: pointer"><img src="magnifier.png" alt="search"/></a>          
 <div class="search" class="rightfloat" style="display: none">    
   <input style="font-family:'Open Sans'" type="text" name="search" placeholder="<?php echo $text_search; ?>" value="<?php echo $search; ?>" class="input-search" />
 </div>   
HTML代码:

$(document).ready(function() {
 $('.magnifier').click(function() {
  $('.search').slideToggle("slow");
   setTimeout(function() {
     $('.input-search').focus();
   }, 0);
 });
});
<a class="magnifier" style="cursor: pointer"><img src="magnifier.png" alt="search"/></a>          
 <div class="search" class="rightfloat" style="display: none">    
   <input style="font-family:'Open Sans'" type="text" name="search" placeholder="<?php echo $text_search; ?>" value="<?php echo $search; ?>" class="input-search" />
 </div>   


尝试将代码更改为:

$(document).ready(function() {
 $('.magnifier').click(function() {
     $('.search').slideToggle("slow", function(){
         $(".input-search").focus();
     });

 });
});

看起来您正试图在元素在屏幕上显示完毕之前将注意力集中在该元素上

试试这个

    $(document).ready(function(){
        $('.magnifier').on('click', function() {
            $('.search').slideToggle(300, function(){
                $('.input-search').focus();
            });
        });         
    });

它所做的是向下滑动输入,当它完成滑动后,它会告诉它专注于输入。这对我很管用。

你就不能再快15秒吗;我知道,对吧?至少我们知道它是正确的,对吧?对我来说,OP的代码在chrome上运行,但肯定这是比使用超时更好的方法