Skip to content
Standalone, minimal version of Backbone.Events
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore
.travis.yml
Gruntfile.js
LICENSE
README.md
backbone-events-standalone.js
backbone-events-standalone.min.js
bower.json
index.js
package.json
test.js

README.md

backbone-events-standalone

Build Status

This is an extraction of the Events module of Backbone which can be used standalone (no external dependency), in the browser or in a nodejs environment.

Oh dear. Why another EventEmitter?

This project started because I appreciate the Backbone.Events interface & features while I wanted to keep using it within non-DOM environments (think a Social API Web Worker for example).

I've ported the original Backbone.Events tests to mocha & chai so I can run them within a nodejs environment and ensure the extracted API actually works as expected without the burden of setting up continuous integration of browser tests.

Installation

Bower (for browser use)

$ bower install backbone-events-standalone

NPM (node)

$ npm install backbone-events-standalone

Usage

Standard browser use

<script src="backbone-events-standalone.js"></script>
<script>
  // use BackboneEvents
</script>

Notes:

  • You may want to use the minified version stored in backbone-events-standalone.min.js.
  • Using Bower, files are usually available within bower_components/backbone-events-standalone

AMD

require(["backbone-events-standalone"], function(BackboneEvents) {
  // ...
});

In nodejs/browserify

var BackboneEvents = require("backbone-events-standalone");

API

The BackboneEvents#mixin method helps extending any object or prototype to add eventing support to it:

var myEventEmitter = BackboneEvents.mixin({});
myEventEmitter.on("foo", console.log).trigger("foo", "hello emitter");

// alternatively
function Plop() {}
BackboneEvents.mixin(Plop.prototype);
(new Plop()).on("foo", console.log).trigger("foo", "hello emitter");

BackboneEvents API & usage is the same as Backbone.Events.

Test

$ npm test

License

MIT

Credits

Jeremy Ashkenas, Backbone author

Something went wrong with that request. Please try again.