Micro module to add an event listener to be executed only once
MIT License
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.
npm install one-event
// This module is only offered as a ES Module
import oneEvent from 'one-event';
async function init() {
await oneEvent(document.body, 'click', false);
console.log('You clicked my body. Don’t do it again.');
}
init();
target
, type
, and options
are the same as what you supply to target.addEventListener(type, listener, options), with the addition of a filter
to the options
object.
Type: (event: Event) => boolean
A filter function that will be called with the event that triggered the listener. The promise will resolve only once the filter returns true
.
EventEmitter
so it's much bigger.MutationObserver
, then resolve a Promise.querySelector
/All
wrapper that outputs an Array.DocumentFragment
or one Element
, in a few bytes.MIT © Federico Brigante