adn*_*adn 3 javascript function keydown
我想在键盘输入后运行countup();
并运行random();
.但是我想这是第一次唯一的工作.我的意思是当我第一次点击进入时,它将运行该功能.但是如果这些功能已经运行并再次点击输入,它将永远不会产生任何影响.
这是我的代码:
addEventListener("keydown", function(e){
if (e.keyCode === 13) {
countup();
random();
}
});
Run Code Online (Sandbox Code Playgroud)
有人可以帮帮我吗?谢谢.
Fri*_*ons 11
做这样的事情
// Create a named function as your event handler
var myFunction = function (e) {
if (e.keyCode === 13) {
// Do your stuff here
countup();
random();
// Remove event listener so that next time it is not triggered
removeEventListener("keydown", myFunction);
}
};
// Bind "keydown" event
addEventListener("keydown", myFunction);
Run Code Online (Sandbox Code Playgroud)
小智 6
想法是用户一个全局变量,在触发事件后设置它。
var is_fired = false;
addEventListener("keydown", function(e){
if (e.keyCode === 13 && is_fired == false) {
countup();
random();
is_fired = true
}
});
Run Code Online (Sandbox Code Playgroud)
您可以使单击事件侦听器在触发后仅工作一次。您只需添加另一个参数即可addEventListener()
,{once:true}
它将按预期工作:
addEventListener("keydown", function(e){
if (e.keyCode === 13) {
countup();
random();
}
},{once: true});
Run Code Online (Sandbox Code Playgroud)
看看我的问题,和你的情况类似。
您也可以只使用removeEventListener()
方法,但您应该先将匿名函数定义为外部函数myKeyPressed()
,然后在 if 条件从元素中删除事件监听器内部:
element.removeEventListener("keydown", myKeyPressed);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1703 次 |
最近记录: |