删除DOM元素会取消其他事件侦听器

时间:2017-02-08 06:03:03

标签: javascript events dom

https://jsbin.com/musahum/1/edit?html,js,console,output

    document.getElementById('myInput').addEventListener('blur', function(){
      if(document.getElementById('container')){
        document.getElementById('container').remove();
      }
      console.log('blur');  
    });

    document.getElementById('myButton').addEventListener('click', function(evt){
      evt.preventDefault();
      console.log('click');
    });

问题: 我有两个事件监听器(模糊,单击)。第一个事件侦听器(blur)也从DOM中删除一个元素(#container)。当它从DOM中删除时,它会取消第二个事件侦听器(单击),从而阻止单击事件。

重现的步骤:  1.在输入框内单击以使其处于焦点位置。  2.直接单击按钮。  这应该理想地触发“模糊”。活动,然后点击'事件。  4.注意'点击'事件未被触发。

0 个答案:

没有答案