Usando jQuery $ .proxy

Código spagetti de ódio? Funções aninhadas como 3 ou 4 níveis de profundidade?

Eu também. A melhor maneira que descobri de evitar código aninhado demais é usar o método $ .proxy da jQuery para manter as coisas o mais simples possível e no nível de classe ou módulo.

Considere este código …

MyClass = function () {
this.setupEvents = function () {
$
('a').click(function (event) {
console
.log($(event.target));
});
}
}

E a alternativa usando o método $ .proxy da jQuery

MyClass = function () {
this.setupEvents = function () {
$
('a').click( $.proxy(this, 'clickFunction'));
}
this.clickFunction = function (event) {
console
.log($(event.target));
}
}