1. 程式人生 > >如何新增事件?一種奇怪的新增方式

如何新增事件?一種奇怪的新增方式

話不多說,程式碼解釋

const target = document.getElementById('target');

// 當‘點選’的時候 做某些事情

target.addEventListener('click', function(e) {
  // dosomething(e)
});


const eventPromise = function(target, type) {
  return new Promise((res) => {
    target.addEventListener(type, function f(e) {
      res(e);
      target.removeEventListener(type, f);
    });
  });
};

// 無限期 等待 ’點選‘ 的時候 做某些事情
(async function() {
  while (true) {
    const event = await eventPromise(target, 'click');
    // dosomething(event)
  }
})();