为什么setTimeout在Chrome中触发两次,但不是IE或Firefox? [英] Why does setTimeout fire twice in Chrome, but not IE or Firefox?
本文介绍了为什么setTimeout在Chrome中触发两次,但不是IE或Firefox?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
<!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屋!
查看全文