javascript click 事件处理程序在不点击的情况下触发 [英] javascript click event handler fires without clicking

查看:55
本文介绍了javascript click 事件处理程序在不点击的情况下触发的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Why does this function get fired without having clicked on the specified button? I had a look at a few similar problems but none deal with this code structure (might be obvious reason for this im missing...).

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

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

推荐答案

你是直接调用它.

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

你应该在回调中这样做.

You should do that in a callback.

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

这篇关于javascript click 事件处理程序在不点击的情况下触发的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆