【问题标题】:How to use listen to event only for mouse left click?如何仅在鼠标左键单击时使用监听事件?
【发布时间】:2019-08-22 19:24:30
【问题描述】:

Phaser 默认将所有鼠标点击(中间和右侧)视为点击事件。我只想在单击鼠标左键时执行一个功能,而不是在右键/中键单击时执行。有什么办法吗?

在以下链接中是一个 Phaser 示例,其中也执行右键/中键:https://phaser.io/examples/v2/basics/02-click-on-an-image.

【问题讨论】:

  • 请添加重现所需的最短代码
  • 是的,有多种方法可以解决这个问题。如果您在实施时遇到问题,您应该选择一个并返回
  • 浏览器就是这样工作的,与框架无关事件对象会告诉你点击了哪个按钮

标签: javascript typescript html5-canvas phaser-framework


【解决方案1】:
game.input.activePointer.leftButton.isDown

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

【讨论】:

    【解决方案2】:
    <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');
          }
    }
    

    希望对您有所帮助。

    【讨论】:

      【解决方案3】:

      建议:

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

      <!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>

      【讨论】:

        猜你喜欢
        • 2011-09-19
        • 2013-09-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-17
        • 1970-01-01
        • 2020-02-20
        • 2014-02-21
        • 1970-01-01
        相关资源
        最近更新 更多