我已经下载了一个 JS 入门模板。它有一个像这样的 default.js 文件:
(当然,在仅包含 <a>
元素的 html 页面中引用了 js 文件。)
(function () {
"use strict";
window.addEventListener("load", function load(event) {
window.removeEventListener("load", load, false);
init();
}, false);
function init() {
document.getElementById("link").addEventListener("click", showAlert, false);
}
function showAlert() {
alert("Welcome to Pure HTML!");
}
}());
现在我的问题是为什么会有一个window.removeEventListener
在window.addEventListener
功能?
最佳答案
这是一种允许事件处理程序执行一次的模式。在事件处理程序的第一次执行中,事件处理程序被删除以停止其再次执行。
有趣的是,它用于 window
加载事件,因为无论如何它应该只触发一次。
关于javascript - 为什么在 addEventListener 回调中调用 removeEventListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23805878/