1

我在 w3schools 上找到了有关 onmousedown、onmouseup 和 onclick 事件的以下信息: onmousedown、onmouseup 和 onclick 事件都是鼠标单击的一部分。首先当鼠标点击时触发onmousedown事件,然后当鼠标松开时触发onmouseup事件,最后当鼠标点击完成时触发onclick事件。

后来我写了下面的代码来测试,但是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> 
4

2 回答 2

3

mouseup 事件正在触发,只是它紧随其后的是 click 事件,因此您没有机会看到感谢消息。如果您删除 onclick 处理程序,您将看到该消息。

于 2014-04-11T10:57:11.140 回答
1

单击一个元素是当您在同一元素上同时使用 mousedown 和 mouseup 时。mouseup 事件正在被触发,但最后发生的是 click 事件。

于 2014-04-11T10:57:42.480 回答