我有以下代码,在其中将事件侦听器添加到文档中,然后将其删除。
document.addEventListener("keypress", gameStart);
function gameStart() {
document.querySelector("h1").innerHTML = "Level 1";
document.querySelector("h2").style.visibility = "hidden";
document.removeEventListener("keypress", gameStart);
}
我无法确定如何在gameStart()本身的定义内的removeEventListener方法中具有对gameStart的回调。这对我来说似乎是循环的,但是我觉得我对这里的一些基本误解。我想念什么?
最佳答案
在 removeEventListener
文档中,我们可以看到:
调用EventListener
时不会调用 gameStart
函数(在您的情况下为removeEventListener
),因此没有任何循环调用或递归,它会传递给removeEventListener
,因此可以从该事件中取消注册此函数。
关于javascript - removeEventListener-函数定义本身内的回调?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61320514/