Mam tę interesującą funkcję jQuery. Zasadniczo dodaje obsługę kliknięcia do połączenia, a po kliknięciu ładuje formularz, aby umożliwić użytkownikowi edycję treści. a formularz jest przesyłany przez AJAX i po zakończeniu wyświetla komunikat o pomyślnym zakończeniu.JQuery/JavaScript: refaktoryzacja funkcji zagnieżdżonych
Kontur jest poniżej; nie trzeba dodawać, że to jest brudne. Mogę mieć każdy z wywołań zwrotnych jako metodę klasy. Jakie są inne sposoby na refaktorowanie funkcji zagnieżdżonych? Jestem również zainteresowany, aby zobaczyć, czy istnieją sposoby, które deklarują zmienne w funkcji dominującej nadal zachowują swoją wartość w dół do funkcji zagnieżdżonych po refactoring
$('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 używając $(). live() - bądź ostrożny, ponieważ zdarzenie submit nie powoduje bańki w Internet Explorerze. Podobno jQuery rozwiązuje ten problem, ale stwierdziłem, że musiałem powiązać się z kliknięciem przycisku przesyłania, co oczywiście nie jest najlepszym rozwiązaniem. – lonesomeday
Zawsze trzymam się z dala od zbyt zagnieżdżonych konstrukcji. Dodatkowo każde przyzwoite IDE eliminuje potrzebę dokumentowania nawiasów zamykających, które wyglądają naprawdę brzydko! –