簡體   English   中英

為什么setTimeout會在Chrome中觸發兩次,而不是IE或Firefox?

[英]Why does setTimeout fire twice in Chrome, but not IE or Firefox?

有人可以告訴我為什么javascript函數'GenerateNewNumber'會在Chrome中激活兩次,但不能用於IE或Firefox嗎? 使用Chrome 20.0.1132.57,IE9和Firefox 13。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" src="/App_JScript/jquery-1.4.4.min.js"></script>
    <script type="text/javascript" language="javascript">

        $(document).ready(function () {
            $('a#RandomNumber').click(function () { initiateNewNumber(); });
        });

        function initiateNewNumber() {

            setTimeout('GenerateNewNumber();', 3000);
        }

        function GenerateNewNumber() {
            var randomnumber = Math.floor(Math.random() * 1123);
            document.getElementById('RandomNumber').innerHTML += '<br>' + 'Random Number is ' + randomnumber;
        }
    </script>
</head>
<body>
    <a id="RandomNumber" href="#">Click for Random Number</a>
</body>
</html>

我已經搜索了Stackoverflow,但找不到任何有用的建議。

提前致謝。

setTimeout需要一個函數作為第一個參數:

setTimeout(function() { GenerateNewNumber(); }, 3000);

嘗試這個

window.setTimeout(GenerateNewNumber,3000);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM