Как использовать прослушивание событий только для щелчка левой кнопкой мыши - PullRequest
1 голос
/ 01 апреля 2019

Phaser по умолчанию обрабатывает все щелчки мышью (в среднем и справа) как событие щелчка.Я хочу выполнить функцию только при щелчке левой кнопкой мыши, а не при щелчке правой / средней кнопкой мыши.Есть ли способ сделать это?

В следующей ссылке приведен пример Phaser, где также выполняется правый / средний щелчок: https://phaser.io/examples/v2/basics/02-click-on-an-image.

Ответы [ 3 ]

0 голосов
/ 01 апреля 2019
<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');
      }
}

Надеюсь, что это поможет.

0 голосов
/ 01 апреля 2019

предложение:

Свяжите функцию с событием 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>
0 голосов
/ 01 апреля 2019
game.input.activePointer.leftButton.isDown

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

...