在三维场景中有时候需要判断鼠标的事件,最近因为一个示例,需要判断鼠标的左键和右键不同的事件,刚开始使用的是click
发现,只有鼠标左键有效,而右键无效,然后就找了一些资料最后发现,绑定onmousedown
的时候鼠标的事件才有效。详细请看w3c上的资料。
首先,需要为window
绑定mousedown
事件
window.addEventListener('mousedown', onMouseDown, false);
然后,判断button
的值,button 事件属性可返回一个整数,指示当事件被触发时哪个鼠标按键被点击。
button
: 返回当事件被触发时,哪个鼠标按钮被点击。
参数 | 描述 |
---|---|
0 | 规定鼠标左键 |
1 | 规定鼠标中键 |
2 | 规定鼠标右键 |
function onMouseDown(event){
if (event.button == 0) {
console.log("鼠标左键!")
}else if (event.button == 2){
console.log("鼠标右键!");
}else if(event.button == 1){
console.log("鼠标滚轮!");
}
}
w3c下的示例
<html>
<head>
<script type="text/javascript">
function whichButton(event)
{
var btnNum = event.button;
if (btnNum==2)
{
alert("您点击了鼠标右键!")
}
else if(btnNum==0)
{
alert("您点击了鼠标左键!")
}
else if(btnNum==1)
{
alert("您点击了鼠标中键!");
}
else
{
alert("您点击了" + btnNum+ "号键,我不能确定它的名称。");
}
}
</script>
</head>
<body onmousedown="whichButton(event)">
<p>请在文档中点击鼠标。一个消息框会提示出您点击了哪个鼠标按键。</p>
</body>
</html>