我正在尝试创建一些放置适当的说明性工具提示,用户可以单击这些提示以了解站点界面的工作方式。每个工具提示都有一个“下一个”链接,可通过修改类(因此更改为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(),则按预期触发。我究竟做错了什么?
displayTooltip
alert()
当您绑定事件时,您就是calling函数document.getElementById("tooltip- link1").addEventListener("click",displayTooltip(2));
calling
document.getElementById("tooltip- link1").addEventListener("click",displayTooltip(2));
您需要传递对该函数的引用。
转到下面
document.getElementById("tooltip-link1").addEventListener("click", function(){ displayTooltip(2) });