From Backbone.js tips and tricks
Create a global event listener with Backbone.Events
In BackboneJS, each Backbone.View, Backbone.Model, Backbone.Collection, Backbone.Router and Backbone.History prototypes inherits from Backbone.Events, and it further means you have access to on(), off(), trigger() methods to manage your events.
The main problem with this approach is you have multiple listener instances. If you instanciate a viewA and another viewB, they do not have the same instance of Backbone.Events. That is to say, an event dispatched in viewA will not be received in viewB.
The workaround is to create a global event listener and inject it in each view: