不使用jquery只执行一次事件侦听器函数
我制作了一段代码,用箭头上下垂直移动6个项目前面的元素.当按下enter时,我将加载一组带有该项目的图像.代码工作正常,但在输入命中后,这段代码需要停止,所以我可以用箭头键做其他事情并输入.现在它只是在输入被击中后继续前进.我尝试使用var检查,但是我似乎无法从交换机内部更改变量.有人知道如何使这项工作?
?var enterPushed = false ; if (!enterPushed){ document.addEventListener( 'keydown' , function (event){ if (event.keyCode == 38){ console.log( "up" ); if (margTop > 122){ margTop = margTop - 60; marginTop(); i = i - 1; bliep.play(); } } if (event.keyCode == 40){ console.log( "down" ); if (margTop < 422){ margTop = margTop + 60; marginTop(); i = i + 1; bliep.play(); } } if (event.keyCode == 13){ switch(i){ case 1: enterPushed = true ; startup(1); break ; case 2: enterPushed = true ; startup(2); break ; case 3: enterPushed = true ; startup(3); break ; case 4: enterPushed = true ; startup(4); break ; case 5: enterPushed = true ; startup(5); break ; case 6: enterPushed = true ; startup(6); break ; } } }); } |
Mati Tucci.. 9
现在你可以once
在options
对象中传递一个布尔值,如下所示:document.body.addEventListener('click', _ => console.log('once'), {once: true});
资料来源: https ://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
浏览器兼容性: Chrome 55,Firefox 50,Safari(WebKit).
1> Mati Tucci..:
现在你可以once
在options
对象中传递一个布尔值,如下所示:document.body.addEventListener('click', _ => console.log('once'), {once: true});
资料来源: https ://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
浏览器兼容性: Chrome 55,Firefox 50,Safari(WebKit).
2> Kolby..:
如果要停止所有键事件,只需删除事件侦听器即可.
?var enterPushed = false ; var handleKeyDown = function (){ if (event.keyCode == 38){ console.log( "up" ); } if (event.keyCode == 40){ console.log( "down" ); } if (event.keyCode == 13){ console.log( 'enter' ); document.removeEventListener( 'keydown' , handleKeyDown); } }; document.addEventListener( 'keydown' , handleKeyDown); |
如果你想停止只听输入或特定键,你可以添加一个标志并检查它和键码.这看起来就像你在这里几乎所做的那样.我完成了逻辑并减少了代码:
?if (event.keyCode == 13 && enterPushed){ enterPushed = true ; startup(i); } |
这不是`.removeEventListener()`的工作原理.您需要提供原始功能.
更新于:3个月前相关文章
- 【说站】python中figure()函数画两张图
- 【说站】python中subplot函数怎么画图?
- 【说站】python Pool常用函数有哪些
- 【说站】python调用函数的注意点
- 【说站】python函数的理解及定义
- 【说站】python中函数的作用探究
- 【说站】java有哪些内置的函数式接口
- 【说站】php数组函数有哪些
- 【说站】php数组排序从小到大函数
- jquery常用选择器汇总
- 【说站】java函数式接口是什么
- 【说站】python函数符号sympy的用法
- 【说站】python中str()函数转换字符串
- 【说站】python编写函数的注意点
- 【说站】python函数中返回值的作用
- 【说站】python在函数中传递实参
- 【说站】python函数如何指定默认值
- 【说站】python如何用函数删除空白
- 【说站】python处理数字列表的函数
- 【说站】python列表中有哪些内置函数