Tengo esta interesante función jQuery. Básicamente agrega un manejador de clics al enlace, y cuando se hace clic en él, cargará un formulario para permitirle al usuario editar el contenido. y el formulario es enviado por AJAX, y mostrará un mensaje de éxito cuando esté listo.JQuery/JavaScript: refactorización de funciones anidadas
El esquema está a continuación; No hace falta decir que esto es desordenado. Podría tener cada devolución de llamada como un método de clase. ¿Qué otras formas existen para refactorizar las funciones anidadas? También estoy interesado en ver si hay alguna manera de que las variables se declaran en una función madre todavía conservan su valor a la función anidada después de refactorización
$('a.edit').click(function() {
// ..snipped..
// get form
$.ajax({
success: function() {
// add form
// submit handler for form
$(new_form).submit(function() {
// submit via ajax
$.ajax({
success: function(data) {
// display message
}
})
})
}}
)
}
Re usando $(). live() - tenga cuidado, porque el evento de envío no burbujea en Internet Explorer. Supuestamente jQuery corrige este problema, pero descubrí que tenía que vincularme al evento click del botón de enviar, que obviamente no es la mejor solución. – lonesomeday
Siempre me mantengo alejado de construcciones excesivamente anidadas. Además, cualquier IDE decente evita la necesidad de documentar los corchetes de cierre, ¡eso se ve realmente feo! –