在下面的截圖中,有人能解釋爲什麼你必須將函數「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