不使用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()`的工作原理.您需要提供原始功能.
更新于:5个月前相关文章
- 【说站】js中diff函数的使用
- 【说站】js中isBefore函数如何判断
- 【说站】python os.path.join()函数的使用
- 【说站】php增量Hash函数的使用
- 【说站】python中os.path.join()函数是什么
- 【说站】mysql常见函数有哪几类
- 【说站】python实例创建销毁的函数整理
- 【说站】java如何自定义函数式接口
- 【说站】python三种属性管理魔法函数
- 【说站】python集合魔法函数有哪些
- 【说站】Python findall函数如何匹配字符串
- 【说站】python析构函数如何使用
- 【说站】js函数执行过程的探究
- 【说站】python zip函数的使用注意
- 【说站】python装饰器如何保留原函数信息
- 【说站】python chardet库的函数用法
- 【说站】python正态分布中的normal函数
- 【说站】python事件循环如何使用?
- 【说站】await在python协程函数的使用
- 【说站】python协程函数如何执行