onmousedown over-rides onmouseup和onclick

时间:2014-11-27 01:42:58

标签: javascript javascript-events event-handling mouseevent

请考虑以下演示代码:

<p id="demo" style="border: 1px solid black;width:300px;height:300px"></p>

<script>
document.getElementById("demo").onmousedown = function(e){ alert('mousedown'); }
document.getElementById("demo").onmouseup = function(e){ alert('mouseup'); }
document.getElementById("demo").onclick = function(e){ alert('click'); }
</script>

有人可以向我解释为什么 mouseup 点击事件都不会被解雇?

1 个答案:

答案 0 :(得分:2)

当您按下鼠标按钮时,您将触发阻止的警报。由于警报是阻止的,因此当您释放点击时,它不允许您的事件处理程序再次触发。

编辑* - 如果您按下鼠标,然后按Enter退出警报。当您松开鼠标时,您将看到触发了鼠标注册事件。