我在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>
因为你正在*取代内容; 'mouseup'事件触发,然后'click'事件在它之后触发(足够快,因为你不能看到'mouseup'事件的效果)。如果追加到innerHTML属性而不是设置新值会发生什么? –
作为一个方面说明,你可能想考虑另一个参考比w3schools ... –
它发生。你只需要点击文本 –