【问题标题】:Click event not firing on first click单击事件未在第一次单击时触发
【发布时间】:2018-09-13 21:36:33
【问题描述】:

我的函数在第一次点击时不会触发,但在第二次点击时会触发。为什么会这样?这是我的代码。

const btn = document.querySelectorAll('#container div i');

btn.forEach(function(btn){

    btn.addEventListener('click', function(e){
      const iParent = e.target.parentElement.parentElement;

        iParent.removeChild(iParent.childNodes[0]);


    });

});

【问题讨论】:

    标签: javascript events dom


    【解决方案1】:

    您错误地识别了问题。它会在两次点击时触发。

    第一次单击将删除iParent 的第一个子项。这可能是一个仅包含空格的文本节点,因此删除它没有明显效果。

    考虑使用children 而不是chidNodes。它只包含元素而不是所有类型的节点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多