2017-05-23 10 views
1

私のコードを見る私のコードで0の値でsettimeoutを使用している、この同じコードはchromeでうまく動作しているが、firefoxでは動作していない。setTimeoutはFirefoxで動作していないし、chromeで動作している、つまり

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がロードされていますか? setTimeoutを 'console.log'でテストしましたか?それは私のためにFirefoxで動作します – Aron

+3

setTimeoutなしで動作する場合、なぜタイムアウトが必要なのですか? –

+1

実際には何が動作していませんか?コンソールにJSエラーメッセージが表示されますか? setTimeoutは常に動作するはずです! – user3733648

答えて

1

場合は、FFのページがまだ読み込まれていないことかもしれません。

あなたが試してみました:

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

window.setTimeoutを試しを。

しかし正直なところ、0に設定されているときにsetTimeoutがある理由はわかりません。 基本的にはこの機能を実行しています。それでは、なぜsetTimeoutなしでそれをしないのですか?

+0

はい私はwindows.setTimeoutで試していたが、動作していない – user7399205

+0

0と 'setTimeout'は、コードは現在のイベントが処理された後に実行されます。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoopを参照してください。 –

関連する問題