【发布时间】:2016-02-27 08:02:24
【问题描述】:
我正在尝试创建一些放置适当的说明工具提示,用户可以点击这些提示来了解网站界面的工作原理。每个工具提示都有一个“下一个”链接,通过修改类(因此,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 在我将此代码粘贴到控制台(或页面加载时)时立即调用(并正确切换类)。如果我用alert() 替换displayTooltip,它会在我点击时触发,正如预期的那样。我做错了什么?
【问题讨论】:
-
当你说 document.getElementById("tooltip-link1").addEventListener("click", displayTooltip(2));您只在那里调用该方法,因此它会立即执行
-
将
displayTooltip(2)更改为displayTooltip.bind(null, 2)。有关解释,请参见下面的答案。
标签: javascript html