在下面的截图中,有人能解释为什么你必须将函数“once”传递给button.removeEventListener(“click”,一次)吗?我们只是通过它,因为removeEventListener方法需要两个参数?此外,看起来很奇怪,如果“once”函数也传递给removeEventListener方法,则“完成”不是控制台记录多次。Eloquent JavaScript中的removeEventListener示例
let button = document.getElementById("button");
function once() {
console.log("Done");
button.removeEventListener("click", once);
}
button.addEventListener("click", once);
<button id="button">once</button>
“*我们只是通过它,因为removeEventListener方法需要两个参数吗?*” - 不。我们不是因为函数有两个参数而传递一些随机值。我们正好传递事件监听器函数*,因为removeEventListener需要知道要删除哪个监听器,因为您可以[参阅文档](https://developer.mozilla.org/en-US/docs/Web/API /事件目标/ removeEventListener)。 – Bergi