如何在鼠标滚动和右键单击时添加事件?

时间:2018-10-11 05:56:57

标签: javascript jquery html

尝试创建扫雷游戏,右键单击该游戏将添加一个标志。但是,右键单击事件当前不起作用,即,鼠标右键和鼠标中键无法获得event.which的值。刚得到contextMenu

示例JS:

var trig = function (event) {
  if(event.which==1){
    //do something on left click
  }
  else if(event.which === 3)
  {
    event.preventDefault();
    console.log(event.isDefaultPrevented());
    //Do something on right click.
  }
}

$('.block').click(trig);

有人能说出发生这种情况的合理原因吗?

preventDefault仅在扩展程序变得烦人时添加。

1 个答案:

答案 0 :(得分:3)

MouseEvent.button

0 (对于鼠标左键), 1 (对于滚轮按钮或中键(如果有)),以及 2 (鼠标右键)。

Internet Explorer 8和更早的版本具有不同的值:

1 (对于鼠标左键), 2 (对于鼠标右键)和 4 (滚轮按钮或中间按钮,如果有)。

更改

else if(event.which === 3)

收件人

else if(event.which === 2 || event.which === 3)

或:对于IE <= 8

else if(event.which === 2 || event.which === 4)