2017-05-23 58 views
1

看到我的代碼我在我的代碼中使用settimeout 0值,這相同的代碼工作正常在鉻和ie,但它不工作在Firefox。setTimeout不工作在Firefox和鉻在工作,即

setTimeout(function() { 
       $("#closeButton").focus(); 
      }, 0); 

時,如果我寫這篇文章像這樣的代碼,然後它的工作在Firefox爲什麼和如何解決這一問題沒有這個技巧。

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

問候, 帕特爾攝影指導Vinit

+0

你確定你已經加載了jQuery嗎?你用'console.log'測試了setTimeout嗎?它適用於我的Firefox – Aron

+3

如果它在沒有setTimeout的情況下工作,那麼爲什麼你需要超時呢? –

+1

什麼是實際上不工作?你是否在控制檯中收到任何JS錯誤消息? setTimeout應該始終工作! – user3733648

回答

1

的情況下可能是您的FF頁面尚未加載。

你試過:

$(document).ready(function() { 
    //code 
}); 

而且還嘗試window.setTimeout

但說實話,我不知道你有一個setTimeout的原因,當它設置爲0. 它基本上是你只是執行該功能。那麼,爲什麼不在沒有setTimeout的情況下這麼做呢?

+0

是我曾嘗試與windows.setTimeout但不工作 – user7399205

+0

一個'setTimeout'與0可以是有用的做一塊代碼在當前事件處理完成後執行。請參閱https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop –

相關問題