JSFiddle - React, Tailwind, and code Playground

by Cody Lindley

HTML

<script src="https://getfirebug.com/firebug-lite-debug.js"></script>
<!-- functional programming utility library -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.3.1/lodash.underscore.js"></script>
<!-- DOM & XHR utility -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<!-- Backbone.js -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"></script>

CSS

iframe {
    height:263px !important;
}

JavaScript

var A = _.extend({name:'A'}, Backbone.Events);
var B = _.extend({name:'B'}, Backbone.Events);
var C = _.extend({name:'C'}, Backbone.Events);

var whosListeningToMe = function(){console.log(this.name);};

//Have B listen whosListeningToMe event on A and C
B.listenTo(A, 'whosListeningToMe', whosListeningToMe);
B.listenTo(C, 'whosListeningToMe', whosListeningToMe);

//Trigger whosListeningToMe event on A and C
A.trigger('whosListeningToMe'); //logs B
C.trigger('whosListeningToMe'); //logs B

//Have B stop listening to all objects
B.stopListening();

//logs nothing because we told B to stop listening to everything
A.trigger('whosListeningToMe'); 
C.trigger('whosListeningToMe');