【问题标题】:Remove event before when run child event在运行子事件之前删除事件
【发布时间】:2019-04-04 09:42:49
【问题描述】:

在此示例中,当我单击按钮时有两个警报,如何在单击按钮时删除事件 divExamp 并且只有一个警报。

<button id="abc">sdfsdfsdf</button>
<div id="example">zczczxczxc</div>

<script>
let divExamp = document.querySelector('#example');
document.querySelector('#abc').addEventListener('click', async e =>{
    divExamp.insertAdjacentHTML('beforeend', '<button id="click">click</button>');   
    document.querySelector('#click').addEventListener('click', async e =>{
        alert('click!');
    })
})
</script>

【问题讨论】:

    标签: javascript addeventlistener dom-events


    【解决方案1】:

    let divExamp = document.querySelector('#example');
    let abc = document.querySelector('#abc');
    
    abc.addEventListener('click', temp);
    
    function temp(e) {
      abc.removeEventListener('click', temp);
      divExamp.insertAdjacentHTML('beforeend', '<button id="click">click</button>');
      document.querySelector('#click').addEventListener('click', e => {
        alert('click!');
      });
    }
    <button id="abc">sdfsdfsdf</button>
    <div id="example">zczczxczxc</div>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多