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当我将此代码粘贴到控制台中时(或在页面加载时)立即调用(并正确切换类)。如果我将替换displayTooltipalert(),则按预期触发。我究竟做错了什么?

回答:

当您绑定事件时,您就是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

回到顶部