addEventListener(“ click”,…)立即触发
我正在尝试创建一些放置适当的说明性工具提示,用户可以单击这些提示以了解站点界面的工作方式。每个工具提示都有一个“下一个”链接,可通过修改类(因此更改为CSS)来切换上一个和下一个工具提示的可见性。
这是应该执行此操作的一些简化代码:
function displayTooltip(t){ //...some code to determine the tooltip IDs "next" and "previous"
document.getElementById(previous).className = "tooltip invisibleTooltip";
document.getElementById(next).className = "tooltip";
}
document.getElementById("tooltip-link1").addEventListener("click", displayTooltip(2));
displayTooltip
当我将此代码粘贴到控制台中时(或在页面加载时)立即调用(并正确切换类)。如果我将替换displayTooltip
为alert()
,则按预期触发。我究竟做错了什么?
回答:
当您绑定事件时,您就是calling
函数document.getElementById("tooltip-
link1").addEventListener("click",displayTooltip(2));
您需要传递对该函数的引用。
转到下面
document.getElementById("tooltip-link1").addEventListener("click", function(){ displayTooltip(2)
});
以上是 addEventListener(“ click”,…)立即触发 的全部内容, 来源链接: utcz.com/qa/416878.html