2014-04-11 220 views
1

我在w3school上找到關於onmousedown,onmouseup和onclick事件的以下信息: onmousedown,onmouseup和onclick事件都是鼠標點擊的所有部分。首先當點擊鼠標按鈕時,onmousedown事件被觸發,然後,當釋放鼠標按鈕時,onmouseup事件被觸發,最後,當鼠標點擊完成時,觸發onclick事件。爲什麼onmouseup的效果永不生效?

後來我寫下面的代碼來測試,但onmouseup事件從未發生過? 我在發佈點擊後只顯示「點擊」,但從未出現「謝謝你」。任何人都可以請澄清,對我?謝謝。

<!DOCTYPE html> 
<html> 
<body> 

<div onmousedown="mDown(this)" onmouseup="mUp(this)" onclick = "mClick(this)" style="background-color:#D94A38;width:90px;height:20px;padding:40px;">Click Me</div> 

<script> 
function mClick(obj) 
{ 
    obj.style.backgroundColor="#ec5ead"; 
    obj.innerHTML="Clicked" 
} 
function mDown(obj) 
{ 
    obj.style.backgroundColor="#1ec5e5"; 
    obj.innerHTML="Release Me" 
} 

function mUp(obj) 
{ 
    obj.style.backgroundColor="#FFFFFF"; 
    obj.innerHTML="Thank You a lot" 
} 
</script> 

</body> 
</html> 
+2

因爲你正在*取代內容; 'mouseup'事件觸發,然後'click'事件在它之後觸發(足夠快,因爲你不能看到'mouseup'事件的效果)。如果追加到innerHTML屬性而不是設置新值會發生什麼? –

+0

作爲一個方面說明,你可能想考慮另一個參考比w3schools ... –

+0

它發生。你只需要點擊文本 –

回答

3

MouseUp事件射擊,這只是它後面緊跟的單擊事件,這樣你就不會得到一個機會看到三江源消息。如果您刪除了onclick處理程序,您將看到該消息。

1

單擊一個元素是當你在同一個元素上雙擊鼠標和鼠標。 mouseup事件正在被觸發,但最後發生的事情是點擊事件。