为什么setTimeout在Chrome中触发两次,但不是IE或Firefox? [英] Why does setTimeout fire twice in Chrome, but not IE or Firefox?

查看:107
本文介绍了为什么setTimeout在Chrome中触发两次,但不是IE或Firefox?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人可以告诉我为什么javascript功能'GenerateNewNumber'在Chrome中触发两次,但不是IE或Firefox?使用Chrome 20.0.1132.57,IE9和Firefox 13。

 <!DOCTYPE html PUBLIC -  // W3C // DTD XHTML 1.0 Transitional // ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> 
< html xmlns =http://www.w3.org/1999/xhtml>
< head>
< title>< / title>
< script type =text / javascriptsrc =/ App_JScript / jquery-1.4.4.min.js>< / script>
< script type =text / javascriptlanguage =javascript> (函数(){initiateNewNumber();});
$('document')。 );
$ b函数initiateNewNumber(){

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


函数GenerateNewNumber(){
var randomnumber = Math.floor(Math.random()* 1123);
document.getElementById('RandomNumber')。innerHTML + ='< br>''随机数字是'+ randomnumber;
}
< / script>
< / head>
< body>
< a id =RandomNumberhref =#>点击随机数< / a>
< / body>
< / html>

我已经通过Stackoverflow进行搜索,但找不到任何有助于解决问题的建议。



预先致谢。

解决方案

试试这个



window.setTimeout(GenerateNewNumber,3000);

Can someone tell me why the javascript function 'GenerateNewNumber' fires twice in Chrome, but not for IE or Firefox? Using Chrome 20.0.1132.57, IE9 and 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>

I've searched through Stackoverflow, but can't find any suggestions which will help.

Thanks in advance.

解决方案

Try this

window.setTimeout(GenerateNewNumber, 3000);

这篇关于为什么setTimeout在Chrome中触发两次,但不是IE或Firefox?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆