在按键上调用JavaScript MouseUp事件

时间:2017-11-06 01:55:52

标签: javascript jquery javascript-events mouseevent mouseup

所以在我的特定项目中,我想跟踪当前按下的所有鼠标按钮和键盘按键。我有一切工作得很好,除了我有一个问题:鼠标事件在任何按键上调用,即使我没有松开鼠标按钮。

如何阻止这种情况发生?或者,或许,我怎么能记住鼠标实际上没有被释放,但事实上已经按下了一个键,导致鼠标事件被触发。如果有人能够在常规J和jQuery中找到解决方案,那就太棒了。

编辑: 我刚才意识到只有使用触控板而不是单独的鼠标才会发生这种情况。

(顺便说一下,我正在使用Chrome)

以下是一些有助于演示的示例代码:

var canvas = document.createElement('canvas');
document.getElementById('main').appendChild(canvas);
var context = canvas.getContext('2d');

canvas.width = 300;
canvas.height = 300;
canvas.style.backgroundColor = 'GREY';

// mouse button pressed
canvas.addEventListener('mousedown', function(ev) {
  console.log("Mouse down!");
  document.getElementById('text').innerHTML = "Mouse down! ...pressing a key will make me go away :(";
});

// mouse button let go
canvas.addEventListener('mouseup', function(ev) {
  console.log("Mouse up!");
  document.getElementById('text').innerHTML = "Mouse up!";
});
<div id="text">
</div>
<div id="main">
</div>

0 个答案:

没有答案