JS中鼠标左右键以及中键的事件

在三维场景中有时候需要判断鼠标的事件,除了使用的click事件,只有鼠标左键有效,而右键无效。而对于onmousedown、onmouseup的时候鼠标的事件左键/右键有效。详细请看w3c上的资料。

以下总结鼠标三个按键操作:

首先,需要为window绑定mousedown、mouseup事件

元素对象.addEventListener('mousedown', 处理函数fun);
1
然后,判断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下的示例

<body onmousedown="whichButton(event)">
<p>请在文档中点击鼠标。一个消息框会提示出您点击了哪个鼠标按键。</p>
<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>
</body>    

原文:https://blog.csdn.net/ithanmang/article/details/81561363

原文地址:https://www.cnblogs.com/lcspring/p/10849841.html