功能火災,我不明白爲什麼功能alert()
閃光之前在此代碼設置樣式indicator
:的JavaScript:以不同的順序
的JavaScript:
var MyClass = function()
{
th = this;
th.func = function(){alert('yes');};
th.Click = function(){
document.getElementById('indicator').style.color = "#0f0";
document.getElementById('indicator').innerHTML = "YES";
th.func(); // here it fires before above style changing
};
th.Start = function()
{
var a = document.getElementById('button1');
a.addEventListener('click', th.Click, false);
};
th.Init = function()
{
th.Start();
};
}
var a = new MyClass().Init();
HTML:
<button id='button1'>Click Me</button>
<div id='indicator' style='color:#f00'>NO</div>
我想讓它在之後觸發。
它會觸發後,但你遇到的是「線程阻塞」。 alert()將停止當前頁面上來自瀏覽器的所有操作。所以它也會阻止重新繪製內容。你可以通過使用非阻塞調用來檢查,例如'window.setTimeout(th.func,0);' – devnull69
@ devnull69,所以如果它將是不同的函數,例如'GET()'請求而不是'alert )',它會按正常順序運行? –
是的,你是正確的,但只適用於異步方法。對於每一個同步的程序,如果你不使用'setTimeout',例如 – devnull69