event-utility
TypeScript icon, indicating that this package has built-in type declarations

0.0.3 • Public • Published

event-utility

A utility for easily managing events

Installation

$ npm install --save event-utility 

Usage

Adding and removing events

const EventManager = require("event-utility");
 
const eventManager = new EventManager();
 
const id = eventManager.addEvent(target, eventName, callback);
 
eventManager.removeEvent(target, eventName, callback);
// or
eventManager.removeEventById(id);
 

Examples

const id1 = eventManager.addEvent(window, "click", () => {
  console.log("hi 1");
});
const id2 = eventManager.addEvent(window, "click", () => {
  console.log("hi 2");
});
eventManager.removeEventById(id1);

When window's click event is fired it will output "hi 2"

function sayHi() {
  console.log("hi");
}
eventManager.addEvent(window, "click", sayHi);
eventManager.removeEvent(window, "click", sayHi);

When window's click event is fired it will not have logged anything

Advance removing events

const props = {
  target?,
  eventName?,
  callback?,
};
eventManager.clearAll(props?);

If not prop specified it will remove all events added with that eventManager instance. Otherwise it will remove all events that match every one of the params.

Examples

eventManager.addEvent(document.body, "click", () => {
  console.log("will not");
});
eventManager.addEvent(window, "click", () => {
  console.log("click");
});
eventManager.clearAll({
  target: document.body,
});

Here it should log only "click"

eventManager.addEvent(window, "keyup", () => {
  console.log("keyup");
});
eventManager.addEvent(window, "click", () => {
  console.log("click");
});
eventManager.clearAll({
  eventName: "click",
});

Clicking will not log anything. Typing keys will do instead

eventManager.addEvent(document.body, "keyup", () => {
  console.log("keyup");
});
eventManager.addEvent(document.body, "click", () => {
  console.log("click body");
});
eventManager.addEvent(window, "click", () => {
  console.log("click window");
});
eventManager.clearAll({
  target: document.body,
  eventName: "click",
});

Here it will log "click window" and "keyup".

Readme

Keywords

Package Sidebar

Install

npm i event-utility

Weekly Downloads

3

Version

0.0.3

License

MIT

Unpacked Size

16.6 kB

Total Files

14

Last publish

Collaborators

  • theiades