setTimeout 跟addEventListener問題
hh
hh 2020-07-12 18:03:35
0
1
1207

這是放在菜鳥上寫的程式碼  ;

setTimeout 無論設定多久,innerHtml都是直接出現最終結果;

這是為啥呢

#<!DOCTYPE html>

#<html>

<head>

#<meta charset= "utf-8">

<title>菜鳥教學(runoob.com)</title>

</head>

<body>

文件新增onmousemove 事件句柄,當在文件中移動滑鼠時會顯示隨機數。

點選按鈕移除事件句柄。

<button id='demo1'>點我</button>

<p id="demo">

<script>

document.getElementById("demo1").addEventListener("click", myFunction);

var time = 5;

function myFunction() {

    document.getElementById("demo").innerHTML = time;

removeHandler(time);

#}

function removeHandler(i) {

i--;

document.getElementById("demo").innerHTML = i;

setTimeout(removeHandler(i),1000);

}

</script>

</body>

</html>

#
hh
hh

全部回覆(1)
Peter-Zhu

setTime()的回呼函數是非同步執行,只有主呼叫堆疊清空才會從任務佇列進入呼叫棧,所以就會出現你說的這種情況

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板