【问题标题】:javascript on mouse and key down/up event combined [duplicate]javascript on mouse and key down/up event组合[重复]
【发布时间】:2019-04-09 17:26:25
【问题描述】:

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

在下面的示例中,当我单击鼠标按钮时,它会返回 var mouseDown 为 1。

然后,如果 mouseDown 等于 1 并且按下键盘按键移位,我希望出现警报消息。

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

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");
	}
};

【问题讨论】:

  • 如果您从未将事件对象记录到控制台...值得一看。里面有很多属性。很难记住它们...只是很高兴了解它们

标签: javascript mouseevent keyboard-events


【解决方案1】:

使用这个

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

【讨论】:

  • 感谢 Abolix!起初我确实尝试了几乎相同的方法,但失败了。你知道如果我在上面的例子中使用 onkeydown 而不是 onmousedown 会失败吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-02
  • 2017-07-31
  • 1970-01-01
相关资源
最近更新 更多