为什么在没有点击指定按钮的情况下触发此功能? 我看了几个类似的问题,但没有处理这个代码结构(可能是这个缺失的明显原因......)。
document.getElementById("main_btn").addEventListener("click", hideId("main");
function hideId(data) {
document.getElementById(data).style.display = "none";
console.log("hidden element #"+data);
}
提前致谢!
答案 0 :(得分:1)
此代码执行您的函数hideId("main")
,您应该只传递回调的名称:
document.getElementById("main_btn").addEventListener("click", hideId);
function hideId(event) {
var id = event.target.srcElement.id; // get the id of the clicked element
document.getElementById(data).style.display = "none";
console.log("hidden element #"+data);
}
答案 1 :(得分:1)
你是直接打电话的。
document.getElementById("main_btn").addEventListener("click", hideId("main");
你应该在回调中做到这一点。
document.getElementById("main_btn").addEventListener("click", function (){
hideId("main");
});
答案 2 :(得分:0)
document.getElementById("main_btn").addEventListener("click", hideId.bind(null, "main");