onmousedown over-rides onmouseup和onclick [英] onmousedown over-rides onmouseup and onclick

查看:114
本文介绍了onmousedown over-rides onmouseup和onclick的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

考虑以下演示代码:

<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 点击事件被解雇?

Can someone please explain to me why neither the mouseup nor click events get fired?

推荐答案

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

When you press your mouse button down, you are triggering an alert which is blocking. Since alert is blocking, it isn't allowing your event handler to trigger once again when you release the click.

编辑* - 如果您按下鼠标,然后按enter键退出警报。当您释放鼠标单击时,您将看到触发鼠标按下事件。

EDIT* - If you press your mouse down, and then press enter to quit the alert. When you release your mouse click you will see the mouse up event being triggered.

这篇关于onmousedown over-rides onmouseup和onclick的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆