one-event

Listen to one event via `addEventListener`, then resolve a Promise

Usage no npm install needed!

<script type="module">
  import oneEvent from 'https://cdn.skypack.dev/one-event';
</script>

README

one-event

Listen to one event via addEventListener, then resolve a Promise

Note: This module is based on the once option of addEventListener. Before v2 it was a replacement for it.

Install

npm install one-event
// This module is only offered as a ES Module
import oneEvent from 'one-event';

Usage

async function init() {
    await oneEvent(document.body, 'click', false);
    console.log('You clicked my body. Don’t do it again.');
}

init();

API

oneEvent(target, type, options)

target, type, and options are the same as what you supply to target.addEventListener(type, listener, options)

Alternatives

Related

  • one-mutation - Observe one mutation via MutationObserver, then resolve a Promise.
  • select-dom - Lightweight querySelector/All wrapper that outputs an Array.
  • doma - Parse an HTML string into DocumentFragment or one Element, in a few bytes.
  • Refined GitHub - Uses this module.