在JavaScript中有没有替代弃用的e.which?

时间:2016-12-21 15:57:32

标签: javascript javascript-events

我是JavaScript事件处理的新手,我想在mousemove上触发事件并左键单击div元素。我当前的实现是在触发mousemove事件函数时检查e.which == 1。但是,我已经读过e.which属性现已弃用(https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/which)。我的代码:

div.addEventListener("mousemove", myEventFunction)

function myEventFunction(e){
    if (e.which == 1){
       //do something
    }

}

有没有其他方法可以执行此操作?

1 个答案:

答案 0 :(得分:3)

如果它是鼠标事件,您可以使用event.button

  

MouseEvent.button只读属性指示鼠标上按下了哪个按钮来触发事件。

function myEventFunction(e) {
    e = e || window.event;
    if ("buttons" in e) {
        return button;
    }
    var button = e.which || e.button;
    return button;
}

上述函数返回button值。