首页 > 解决方案 > 如何仅在鼠标左键单击时使用监听事件?

问题描述

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

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

标签: javascripttypescripthtml5-canvasphaser-framework

解决方案


建议 :

在所需元素的 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>


推荐阅读