javascript 鼠标和按键 down/up 事件组合

javascript on mouse and key down/up event combined

我正在尝试创建键盘 + 鼠标单击快捷方式来执行代码。

在下面的示例中,当我单击鼠标按钮时,它将 return var mouseDown as 1.

然后如果 mouseDown 等于 1 并且按下键盘 shift 键,我希望显示警告消息。

键盘+鼠标点击事件失败:

var mouseDown = 0;
document.onmousedown = function(e) {
    if (e.which == 1) { //Left mouse button on Mac
 mouseDown = 1;}
 else {
 mouseDown = 0;}
};

if (mouseDown == 1) {
document.onkeyup = function(e) {
  if (e.which == 16) { //Shift key on Mac
 alert("Shift + mouse was pressed");
 mouseDown = 0;
 }
};
}

单独使用鼠标点击事件:

document.onmousedown = function(e) {
    if (e.which == 1) {
 alert("Mouse was pressed");
 }
};

单独的 Shift 键事件有效:

document.onkeyup = function(e) {
  if (e.which == 16) {
 alert("Shift was pressed");
 }
};

使用这个

document.onmousedown = function(e) {
  if (e.shiftKey && e.which == 1) {
  alert("Mouse and Shift was pressed");
  }
};