JavaScript 按钮按键在第 n 次点击事件中触发 n 次
javascript button key press is fired n times in n'th click event
我正在尝试构建一个有开始按钮的游戏。按下此按钮后,游戏开始。游戏有多个键盘按键事件。问题是当按下第 n 次开始按钮并且游戏开始运行第 n 次时,对于每个键盘按键事件,程序都会进行 n 次按键。下面是代码。
$(document).ready(function(){
$('.start_game').click( function(){
$(document).keydown(function(e){ // left button
if (e.keyCode == 37 && game_over_flag == 0)
{
if(a!=0)
{
remove_obj(a,b);
a=a-1;
placement(a,b);
check_collision(a,b);
}
}
});
});
});
因此,当第二次按下开始游戏然后按下箭头按钮时,需要单击两次。对于第三次启动游戏按钮单击,每个击键工作三次,而对于单击,我需要一次执行。请帮忙。
每次单击该按钮时,它都会添加新的事件处理程序。所以你需要解绑它。
$('.start_game').click( function () {
$(document).off("keydown.game").on("keydown.game", function (e) {
...
或者最好不要绑定在点击事件中,使用标志。
$(document).ready(function(){
var isActive = false;
$('.start_game').click( function(){
isActive = true
});
$(document).keydown(function(e){ // left button
if (!isActive) {
return;
}
if (e.keyCode == 37 && game_over_flag == 0)
...
每场比赛结束后,尝试类似
$(document).unbind('keydown');
每次用户单击时都会绑定一个新的事件处理程序。
相关文章:
- ASP.NET通过单击JavaScript按钮触发c#事件
- 当我点击jsf中的primefaces命令按钮时,如何获得点击事件
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 如何在不单击javascript中的按钮的情况下触发事件
- 如何隐藏按钮单击事件上的占位符
- 如何使用for循环添加所有按钮'单击事件
- 单击按钮前运行事件
- 主干点击事件按钮不工作
- 切换事件按钮
- 从javascript onclick事件按钮调用c函数
- 点击加载事件按钮
- 在.remove()和.append()之后返回我的事件按钮
- 如何在javascript中启用或禁用文本框的按键事件按钮
- 如何添加onclick事件按钮在yii引导(http://www.cniska.net/yii-bootstrap/#t
- 如何打开弹出窗口旁边的事件按钮-如何获得鼠标光标位置onclick
- 单击事件按钮正在发送图标作为目标
- 添加要提交的事件按钮
- Jquery移动处理器事件按钮
- Js移动网络事件按钮
- 为什么在HTML按钮的属性窗口中没有事件按钮