para mantener mis eventos en el control Yo uso una publicación/suscripción mecanismo
jQuery.subscribe = function(eventName, obj, method){
$(window).bind(eventName, function() {
obj[method].apply(obj, Array.prototype.slice.call(arguments, 1));
});
return jQuery;
}
jQuery.publish = function(eventName){
$(window).trigger(eventName, Array.prototype.slice.call(arguments, 1));
return jQuery;
}
He aquí un ejemplo de su uso
// a couple of objects to work with
var myObj = {
method1: function(arg) {
alert('myObj::method1 says: '+arg);
},
method2: function(arg1, arg2) {
alert(arg1);
//republish
$.publish('anEventNameIMadeUp', arg2);
}
}
var myOtherObj = {
say: function(arg){
alert('myOtherObj::say says: ' + arg);
}
}
// you can then have all your event connections in one place
//myObj::method2 is now listening for the 'start' event
$.subscribe('start', myObj, 'method2');
//myOtherObj::say is now listening for the 'another' event
$.subscribe('anotherEvent', myOtherObj, 'say');
//myObj::method1 is now listening for the 'anEventNameIMadeUp' event
$.subscribe('anEventNameIMadeUp', myObj, 'method1');
//so is myOtherObj::say
$.subscribe('anEventNameIMadeUp', myOtherObj, 'say');
// ok, trigger some events (this could happen anywhere)
$.publish('start', 'message1', 'message2');
$.publish('anotherEvent', 'another message');
Impresionante, voy a ver esto para mi próximo proyecto. Muchas gracias por agregar a esta pregunta mucho más tarde. –