jQuery: binding multiple events to objects
by gabrieleromanato
JavaScript
var Class = {
eventTypes: ['start', 'end', 'destroy'],
create: function() {
$.each(
Class.eventTypes, function(i, ev) {
jQuery(Class).bind(
ev, Class.events[ev]);
});
},
events: {
start: function() {
alert('Class started');
},
destroy: function() {
$.each(Class.eventTypes, function(i, ev) {
jQuery(Class).unbind(ev);
});
alert('Class events destroyed');
},
end: function() {
alert('Class ended');
}
},
init: function() {
this.create();
}
};
Class.init();
setTimeout(function() {
jQuery(Class).trigger('start');
}, 1000);
setTimeout(function() {
jQuery(Class).trigger('end');
}, 1000);
setTimeout(function() {
jQuery(Class).trigger('destroy');
}, 1000);