区分左右鼠标的不同方法,哪一个使用?

时间:2013-06-18 20:27:36

标签: javascript html5

所以我感到有点困惑。我正在开发一个HTML5游戏项目,对于一个特定的菜单,我希望用户能够通过左键单击功能为图像添加值,但是然后通过右键单击而不是显示的菜单来删除值。我已经阅读了3种方法:

我一直在将事件监听器分配给div,由于某种原因我无法使if (event.button === 2)工作,即使我读到的是鼠标右键。但是div.oncontextmenu = doRightClick;工作正常。然后有event.which,我似乎仍然不明白。它似乎是一个全局的event.button但是包含键盘键?

我的问题是,是否有理由使用event.buttonevent.which而不是.oncontextmenu?一个人对另一个人有什么好处吗?或浏览器问题?我读到event.button有不同的IE8值,而且有点蹩脚。非常感谢任何帮助,提前谢谢。

1 个答案:

答案 0 :(得分:1)

contextmenu事件并非真正用于右键点击;它用于上下文菜单,但是它们被调用(上下文菜单键盘键,使用一键式鼠标进行特殊点击等)。您可能仍希望捕获这些contextmenu个事件,以便取消它们,然后使用mousedownmouseup专门处理右键点击。