当前位置: 首页 > 面试题库 >

addEventListener(“ click”,…)立即触发

陶修洁
2023-03-14
问题内容

我正在尝试创建一些放置适当的说明性工具提示,用户可以单击这些提示以了解站点界面的工作方式。每个工具提示都有一个“下一个”链接,可通过修改类(因此更改为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)
});


 类似资料:
  • 编辑:下面是list_item_view.xml

  • 我想用quartz scheduler使用jdbc数据存储立即执行作业~。然而,即使我使用now()或调用triggerjob进行调度,在调度和触发器fire之间也有20-30秒的延迟。 我尝试用一个简单的触发器执行作业: 并且我还尝试用调度程序触发: 下面是显示延迟的侦听器日志。

  • 问题内容: 这是我第一次真正接触JavaScript。当然,我曾经使用过它,但是我从未真正写过任何东西。 无论如何,我遇到了一个非常奇怪的问题,希望有人可以帮我解决。 我正在尝试使div的文本从黑变白。很简单,是吗? 以下代码 有效 。它将颜色更改为白色,但是,忽略了500ms的setTimeout时间。 如果您使用Chrome浏览器并查看JS控制台,您将很容易看到doFade()方法几乎是即时调

  • 嗨,我目前正在使用警报管理器。我写了下面给出的代码。根据代码,警报管理器应该在10秒后触发,但在我的代码中,警报管理器会立即触发。请帮助。 还有我的警报接收课 我已经在清单中添加了所需的权限。

  • 我应该做什么来运行CRON触发器现在运行一次,并遵循表达式,例如 每5分钟触发一次。 我看了下面的帖子 https://groups.google.com/forum/#!topic/quartznet/gav10e4tj50 如果要确保作业立即运行,可以将开始时间设置为datetime.now的前一天,因此可以将代码更改为: CronTrigger触发器=新的CronTrigger(“trig”

  • 问题内容: 在Node应用程序中,我需要以同步方式遍历某些项目,但是循环内的某些操作是异步的。我的代码现在看起来像这样: 这可以弄清楚何时是由1组成的数组。但是,一旦有多个项目,将立即为该数组中的每个项目触发,而无需等待循环中的操作结束。 这么说…我如何确保数组中每个项目的整个操作都同步运行(即使某些操作是异步的并返回了Promise)? 非常感谢! ñ 问题答案: 好的…我们能够使其工作的方式: