Javascript setTimeout在firefox和chrome和ie中不起作用

Javascript setTimeout在firefox和chrome和ie中不起作用,javascript,jquery,google-chrome,firefox,Javascript,Jquery,Google Chrome,Firefox,请看我的代码,我在代码中使用的settimeout值为0,这段代码在chrome和ie中运行良好,但在firefox中不起作用 setTimeout(function() { $("#closeButton").focus(); }, 0); 如果我这样写代码,那么它在firefox中工作,为什么以及如何在没有这种攻击的情况下修复它 $("#closeButton").focus(); <-- by adding this code w

请看我的代码,我在代码中使用的settimeout值为0,这段代码在chrome和ie中运行良好,但在firefox中不起作用

setTimeout(function() {
              $("#closeButton").focus();
            }, 0);
如果我这样写代码,那么它在firefox中工作,为什么以及如何在没有这种攻击的情况下修复它

$("#closeButton").focus(); <-- by adding this code works but with out it not
setTimeout(function() {
                  $("#closeButton").focus();
                }, 0);

$(“#关闭按钮”).focus() 情况可能是您在FF上的页面尚未加载

您是否尝试过:

$( document ).ready(function() {
    //code
});
也可以尝试
window.setTimeout

但老实说,我不知道设置为0时设置setTimeout的原因。
基本上你只是在执行这个函数。那么,为什么不在没有设置超时的情况下这样做呢?

您确定已经加载了jQuery吗?您是否使用
控制台.log测试了setTimeout?它可以在Firefox for Mei中工作如果没有setTimeout,那么为什么需要超时呢?实际上什么不起作用?您是否在控制台中收到任何JS错误消息?setTimeout应该总是有效的!如果超时设置为0,为什么要使用setTimeout?只需运行该函数?我的页面已加载,js也已加载,我之所以这样做,是因为我动态切换了我在windows上尝试过的控件。setTimeout但不工作使用0
setTimeout
可以使一段代码在处理完当前事件后执行。看见