我有以下代码,在其中将事件侦听器添加到文档中,然后将其删除。

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/

10-10 21:19