3

有人能告诉我为什么 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 进行了搜索,但找不到任何有用的建议。

提前致谢。

4

2 回答 2

1

setTimeout 需要一个函数作为第一个参数:

setTimeout(function() { GenerateNewNumber(); }, 3000);
于 2012-07-22T01:05:44.400 回答
1

尝试这个

window.setTimeout(GenerateNewNumber, 3000);

于 2012-07-22T01:07:53.643 回答