Одна из приятных особенностей MooTools заключается в том, что он позволяет легко назначать / запускать события для объектов, например:
var playerSingleton = new (new Class({
Implements: [Events],
initialize: function() {},
setVolume: function() {
// do some stuff..
this.fireEvent('volumeChanged')
}
}));
// Somewhere else...
playerSingleton.addEvent('volumeChanged', function() {
// do something when volume changes
});
playerSingleton.setVolume(75);
// bam our event fires.
Как можно сделать что-то подобное с jQuery?
Я знаю, что есть .bind
и .trigger
, но, похоже, единственный способ сделать это - привязать / запустить события для объекта окна:
$(window).bind('volumeChanged', fn);
Есть ли что-нибудь лучше, чем этот, больше похожий на подход MooTools? Спасибо!