Backbone.js - Events

Set a custom event and trigger it

by Steven Senkus

HTML

<script src="http://documentcloud.github.com/underscore/underscore-min.js"></script>
<script src="http://documentcloud.github.com/backbone/backbone-min.js"></script>
<ul id="container"></ul>

JavaScript

var obj = {};
_.extend(obj, Backbone.Events);
obj.on('hello', function (data) {
    var colorString = (function () {
        var out = '#000';
        for (var i = 0; i < 3; i++) {
            out += data['time'].toString().slice(-1);
        }
        return out;
    })()

    $('#container').append('<li style="color: ' + colorString +'">#' + data['num'] + ', it is now: ' + data['time'] + '</li>')
});

var count = 0;
var timer = setInterval(function () {
    if (count !== 10) {
        obj.trigger('hello', {
            num: count++,
            time: new Date().getTime(),
        });
    } else {
        clearInterval(timer);
    }
}, 201);