【问题标题】:Why call removeEventListener inside addEventListener callback?为什么在 addEventListener 回调中调用 removeEventListener?
【发布时间】:2014-05-22 11:43:59
【问题描述】:

我已经下载了一个 JS 入门模板。它有一个这样的 default.js 文件: (当然,该 js 文件在仅包含 <a> 元素的 html 页面中被引用。)

(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

【问题讨论】:

标签: javascript javascript-events


【解决方案1】:

这是一种允许事件处理程序执行一次的模式。在事件处理程序的第一次执行中,事件处理程序被移除以停止它再次执行。

有趣的是,它用于window 加载事件,因为无论如何它只会触发一次。

【讨论】:

    猜你喜欢
    • 2022-12-03
    • 2020-04-27
    • 1970-01-01
    • 2018-07-31
    • 1970-01-01
    • 2020-08-12
    • 2011-08-15
    • 1970-01-01
    • 2017-09-23
    相关资源
    最近更新 更多