Tengo problemas para actualizar los elementos que no están listos después de una solicitud de AJAX.documento de jQuery listo después de la solicitud de ajax
Si funciono mi función myFunction()
al cargar la página, así:
$(function() {
myFunction();
}
tengo ningún problema en absoluto. Pero si a continuación, utilizar algo como
$.ajax({
url: this.href,
dataType: "script",
complete: function(xhr, status) {
myFunction();
}
});
que devuelve $(".myElement").replaceWith("htmlHere")
. Los elementos simplemente no están listos cuando se dispara el evento completo. Si establezco un retraso allí, funciona bien de nuevo.
¿Hay algún otro evento que se active aparte de 'completar' cuando el DOM está listo?
Actualización:
Aquí está el código real:
$(function() {
$("a.remote").live("click", function(e) {
$.ajax({
url: this.href,
dataType: "script",
success: function(xhr, status) {
myFunction();
}
});
e.preventDefault();
return false;
});
myFunction();
});
function myFunction() {
// Modify the dom in here
}
La falta); fue solo un error tipográfico de mi parte.
He intentado usar el éxito ahora en lugar de completar y no parece hacer ninguna diferencia.
lo que haces en caso de éxito de $ .ajax? ¿Hay alguna función que quizás deba mencionar en su pregunta? –
Desea colocar * todo * su código dentro de un controlador '' $ (función() {...}); 'grande. De esa forma nunca tendrás ese tipo de problemas ... Por otro lado, al hacerlo también obtendrás un espacio de nombres, que de todos modos necesitas. –
He actualizado la pregunta original con el código actualizado. – Danny