JS settimeout не работает в IE8 ... - PullRequest
4 голосов
/ 09 июня 2010
<html>   
 <head>   
 <script>

var i;
i = 0;
function loop() { 
     i = i + 1;
     alert(String(i));
     setTimeout("loop()",1000);
}
setTimeout("loop()",1000);  
</script>   

 </head>   

 <body>   

</body>   
 </html>  

Пожалуйста, попробуйте приведенный выше код в IE8, он не будет выдавать предупреждающее сообщение каждые 1 секунду, если вы удерживаете правой кнопкой мыши.

Но в Firefox он выдаст предупреждающее сообщение, даже если вы не отпустите правую кнопку мыши.

Мне нужна функциональность firefox в IE8.

Ответы [ 3 ]

2 голосов
/ 09 июня 2010

Причина этого в том, что нажатие на кнопку является событием , блокирующим .Это означает, что все исполнения прекращаются , пока выполняется.

С этим ничего нельзя поделать.

Используете ли вы правую кнопку мыши для чего-то особенногокроме контекстного меню по умолчанию?

1 голос
/ 21 сентября 2011
window.setTimeout(timeOut,1000); 
// timer is set in milliseconds  = 1000 * sec

function timeOut() {
    alert('1 sec passed');
}
0 голосов
/ 20 июня 2013
function myFunction()
{
setInterval(function(){alert("Hello")},3000);
}
myFunction();

подробнее

...