javascript点击事件处理程序在不点击的情况下触发

Mar*_*onk 7 javascript function click event-handling

为什么这个函数在没有点击指定按钮的情况下会被触发?我查看了一些类似的问题,但没有一个处理这个代码结构(可能是我丢失的明显原因......)。

document.getElementById("main_btn").addEventListener("click", hideId("main");

function hideId(data) {
    document.getElementById(data).style.display = "none";
    console.log("hidden element #"+data);
}
Run Code Online (Sandbox Code Playgroud)

Sur*_*tta 10

你直接调用它。

document.getElementById("main_btn").addEventListener("click", hideId("main");
Run Code Online (Sandbox Code Playgroud)

你应该在回调中这样做。

document.getElementById("main_btn").addEventListener("click", function (){
    hideId("main");
});
Run Code Online (Sandbox Code Playgroud)