Hola, buen día. Recurro nuevamente a ustedes debido a que no logro encontrar el porque sucede algo con mi código.
Mi problema es el siguiente, tengo una página con index.html que posee un div denominado #carga en el cual vierto el contenido de la navegación del sitio, todo esto para evitar recargar la página una y otra vez.
Para lo anterior ocupo un script en jQuery que carga y descarga contenido en el div #carga. Todo parece funcionar adecuadamente, pero tengo 2 únicos enlaces que se abren en una nueva ventana, para lo cual añado una clase a su etiqueta <a>; compruebo si el vínculo posee la clase y si no la tiene hago que cargue la página en el div #carga
Todo funciona hasta que se clickea un vinculo para una nueva ventana; si se ha hecho click en otro vinculo, que cargue contenido dentro del div #carga usa ese click para abrir una ventana extra con el contenido del vínculo externo. Lo peor de todo es que toma en cuenta el número de clicks anteriores y puede llegar a abrir muchisimas ventanas nuevas.
Al principio pensé que era por la cache y establecí el valor en false, pero sigue el mismo comportamiento. También pensé que sería por una línea de código donde atraigo el mismo archivo .js que uso, y lo hago mediante getScript; pero ya deshabilité dicha línea de código y continúa sin funcionar.
Aquí les dejo mi código:
Código Javascript
:
Ver original$(document).ready(function() {
$.ajax({ cache: false});
$("a").on("click", function(e){
e.preventDefault();
if ($(this).hasClass("ext"))
{
window.open($(this).attr("href"), "_blank");
}
else
{
$.get($(this).attr("href"), function(data){
$("#carga").html(data);
$("#carga").fadeIn().animate({height: "auto"}, 5000);
/*$.getScript("js/refrescador.js");*/
});
}
});
$(document).ajaxStart(function(){
$("#cargando").fadeIn();
$("#encerrar_cargando").fadeIn();
console.log("Se inicio ajaxStart");
});
$(document).ajaxStop(function(){
$("#cargando").fadeOut("slow");
$("#encerrar_cargando").fadeOut("slow");
console.log("Concluyó ajaxStart");
});
});
De antemano muchas gracias