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));
}
}