JavaScript EventEmitter implementation
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
dist
.editorconfig
.flowconfig
.gitignore
.travis.yml
event-emitter.js
event-emitter.tests.js
license
package-lock.json
package.json
readme.md

readme.md

EventEmitter

JavaScript EventEmitter implementation.

Installation

Install via npm (or yarn):

npm install @arnellebalane/event-emitter

Or via CDN (unpkg.com):

<script src="https://unpkg.com/@arnellebalane/event-emitter/dist/event-emitter.umd.js"></script>

Usage

This module exposes a class that you can extend from to make your own classes support emitting events and being listened to for events.

import EventEmitter from '@arnellebalane/event-emitter';

class MyClass extends EventEmitter {
    // ...
}

This class is exposed as window.EventEmitter when not using AMD or CommonJS.

API

Instances of EventEmitter and its subclasses will have the following methods:

  • .on(name, callback): Listen for an event to be emitted from the instance.
    • name (String). The name of the event to listen to.
    • callback (Function). The function to run when the event is emitted.
  • .off(name[, callback]): Stop listening for an event to be emitted from the instance.
    • name (String). The name of the event to stop listening to.
    • callback (Function, Optional). The callback function to remove. If given, only that callback will be removed. Otherwise, all callback functions for that event will be removed.
  • .emit(name[, data]): Broadcast an event to all observers.
    • name (String). The name of the event to broadcast.
    • data (Any, Optional). The data to be passed to the callback functions.

License

MIT License