通过鼠标悬停在没有循环的情况下通过addEventListener添加代码

时间:2017-12-27 13:55:36

标签: javascript

我想通过addEventListener添加一些代码。我会使用DOMContentLoaded,但我尝试选择的ID在页面加载时不可用。我可以使用mouseover,但它会在任何移动中迭代代码。我也可以使用click活动,但我不希望它在点击时显示,但只是在显示时。我怎么处理呢?

document.addEventListener("mouseover", function(event){
  document.querySelector("#id").insertAdjacentHTML('afterend', '<div>asd</div>');
});

2 个答案:

答案 0 :(得分:0)

您需要委托

var yourSpecificId = "some-id";

document.addEventListener("mouseover", function(event){
  if (event.target.id == yourSpecificId ) //only when the id of the mouseover element is matching yourSpecificId 
  {
     //code you want to execute 
  }
});

答案 1 :(得分:0)

我建议Mutation Observer。它看起来很难实现,但它很容易实现。您可以提供回调函数,然后使用快速if语句来检查新添加的元素是否具有正确的id。如果是这样,请运行您的代码并断开观察者的连接。

如果您发布了添加元素的时间和运行所需函数的实例,将会更容易为您提供帮助。

阅读此博客:https://davidwalsh.name/mutationobserver-api