运行子事件之前删除事件

时间:2019-04-04 09:42:50

标签: javascript addeventlistener dom-events

在此示例中,当我单击按钮时有两个警报,如何在单击按钮且只有一个警报时删除事件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>

1 个答案:

答案 0 :(得分: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>