如何只为鼠标左键使用监听事件?

时间:2019-04-01 15:11:03

标签: javascript typescript html5-canvas phaser-framework

默认情况下,Phaser将所有鼠标单击(也包括中间和右击)视为单击事件。我只想单击鼠标左键而不是单击鼠标右键/中键来执行功能。有什么办法吗?

下面的链接是一个Phaser示例,其中还执行了右键/中键单击:https://phaser.io/examples/v2/basics/02-click-on-an-image.

3 个答案:

答案 0 :(得分:0)

game.input.activePointer.leftButton.isDown

https://phaser.io/examples/v2/input/mouse-buttons

答案 1 :(得分:0)

<div onmousedown="WhichButton(event)">Click this text with one of your mouse buttons to return a number.
  <p>
  0 = The left mouse button<br>
  1 = The middle mouse button<br>
  2 = The right mouse button
  </p>

</div>

<script>
function WhichButton(event) {
  alert("You pressed button: " + event.button)
}
</script>

这里0表示单击鼠标左键,因此您可以编写如下条件:

function WhichButton(event) {
      if(event.button==0) {
         alert('left click');
      }
}

希望获得帮助。

答案 2 :(得分:0)

建议:

在所需元素的mouseup事件上绑定一个函数,并评估事件的“ button”属性。该字段的值将指示它是左键单击还是右键单击

<!DOCTYPE html>
<html>
<body>
  <script
  src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
  integrity="sha256-3edrmyuQ0w65f8gfBsqowzjJe2iM6n0nKciPUp8y+7E="
  crossorigin="anonymous"></script>
click me :
<a id="test" href="#">Try it</a>

<script>
$("#test").on("mouseup", function(e) { myFunction(e);});



function myFunction(e) {
  
  if(e.button === 0)
    alert('left click');

if(e.button === 2)
    alert('right click');
  
}
</script>

</body>
</html>