不使用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()`的工作原理.您需要提供原始功能.
更新于:1个月前相关文章
- jQuery Jsonp的使用方法
- 颜色渐变jQuery.color插件下载和使用
- PHP 函数传值和传引用的区别
- PHP 可变函数
- 解释函数 foo() {} 和 var foo = function() {} 之间 foo 用法的差异
- JavaScript 常用自定义功能函数
- PHP 常用功能函数
- PHP的数组排序函数
- 15款jquery css3动画插件
- TP6.0 助手函数 env()
- 自定义事件子组件与父组件通信
- PHP的七个数组指针函数
- Vue组件的data必须是一个函数、单个根元素、局部组件
- Vue2 侦听器 watch【初识】
- PHP 创建目录函数封装
- ThinkPHP6.0 公共函数文件
- 从一个程序员的角度看东方甄选“小作文”事件
- .NET C#委托和事件常见面试题
- json python中的转储函数
- 地图函数在 Python 中有什么用?