addEventListner 在单击 HTML 之前触发

addEventListner is triggerd before the HTMLElement is clicked

本文关键字:HTML 单击 addEventListner      更新时间:2023-09-26

我在 onLoad 上调用的函数中的 HTML 上的 HTMLElement 上使用 addEventListner 方法。但是,该方法甚至在我尝试 html 页面中的单击事件之前就被执行了。

        function setConfigurationMenu(){
            var navConfigure = document.querySelector(".navConfigure");
            var navBody = navConfigure.querySelector(".body");
            var navTop = navConfigure.querySelector(".top");
            navTop.addEventListener("click", alert("jow"));
        }

那么这是怎么回事,有什么想法吗?

感谢

发生这种情况是因为您正在执行alert函数并将其返回值undefined)作为参数传递给addEventListener方法。你实际上需要向它传递一个函数。

navTop.addEventListener("click", functionToBeTriggered);

由于alert需要一个参数作为您的文本,因此您可能希望将其包装到调用它的匿名函数中。例如:

navTop.addEventListener("click", function() {
    alert("jow")
});

发生这种情况是因为您传递了函数result而不是函数handler,为此尝试匿名函数:

navTop.addEventListener("click", function() {
    alert("jow");
});

换句话说,在您的情况下,您只是调用函数,但您需要为此传递处理程序。