JavaScript 左键和右键单击功能
JavaScript left and right click function
这是我正在制作的HTML5画布游戏。 在游戏中,有一个角色有枪,他可以射击并重新装填。 我希望玩家使用鼠标左键进行射击,使用鼠标右键重新加载。
我需要的是,当我单击鼠标左键时,我的播放器对象(Player1.isLeftClick)中的一个变量变为真,当我松开按钮时,相同的变量变为假。 鼠标右键也应该发生同样的事情,但另一个变量(Player1.isRightClick)。 我还希望它能够与所有最流行的浏览器(Chrome,Firefox,Explorer等)一起使用。 我也必须使用纯JavaScript,没有像jQuery这样的库!我已经通过键盘事件实现了这个,但我需要鼠标事件来实现这一点。
如果有帮助,我已经有了用于键盘上下和鼠标移动的事件处理程序。 这些是在加载图像时初始化游戏的 init 函数中进行的。
document.addEventListener('mousemove', mousePos, false);
document.addEventListener('keydown', checkKeyDown, false);
document.addEventListener('keyup', checkKeyUp, false);
我还有一个名为mie的变量,如果使用的浏览器是Internet Explorer,则为true,而对于其他浏览器为false。
您希望使用 e.button
属性来检查调用了哪个鼠标事件。在 IE 中,单击的鼠标左键的值不同。您的代码如下所示:
var left, right;
left = mie ? 1 : 0;
right = 2;
document.body.addEventListener('mousedown', function (e){
if(e.button === left){
Player1.isLeftClick = true;
}
else if(e.button === right){
Player1.isRightClick = true;
}
}, false);
document.body.addEventListener('mouseup', function (e){
if(e.button === left){
Player1.isLeftClick = false;
}
else if(e.button === right){
Player1.isRightClick = false;
}
}, false);
演示
相关文章:
- .on(“单击”,..)不处理使用相同的单击功能创建的对象
- JavaScript 左键和右键单击功能
- 一个按钮中的两个onClick功能,并希望一个接一个地发生一个单击功能
- 复选框单击功能不起作用
- AJAX具有相同提交/单击功能的多个表单
- 同时使用同一单击功能的多个元素.怎样
- 将现有的单击功能重新附加到元素
- 无法停止表td上的单击功能
- 如何将下拉选择值传递给控制器中的按钮单击功能
- 单击功能应反转图像的颜色并恢复先前反转图像的颜色
- 如何在元素的默认行为之后运行单击功能
- 单击功能不起作用按钮
- 基本 webpack 不适用于按钮单击功能 - 未捕获的引用错误:未定义
- 附加链接上的单击功能不起作用
- 单击功能在野生动物园浏览器上不起作用
- jQuery插件上的单击功能仅允许单击
- 单击功能结束时的按钮
- 使用 Jquery 更改悬停单击功能
- 单击功能后禁用jquery中的悬停效果时出错
- jQuery单击功能可从元素中删除属性并在单独单击时恢复属性