No puedo mostrar un ejemplo en vivo en este momento, pero no veo cómo se llama al slideToggle dos veces. se llama al hacer clic en un enlace.slideToggle ejecutándose dos veces en una llamada
aquí:
// initialize the jquery code
$(function(){
$('div.slideToggle a').click(function(){
$(this).parent().siblings('div.remaining-comments').slideToggle('slow',function(){ //'this' becomes the remaining-comments.
var hidden = $(this).siblings('div.slideToggle').find('input').val();
if($(this).siblings('div.slideToggle').find('a').html().substr(0,4) == 'Show'){
$(this).siblings('div.slideToggle').find('a').html('Hide comments');
}
else {
$(this).siblings('div.slideToggle').find('a').html(hidden);
}
});
});
});
que está destinado a mostrar y ocultar los comentarios adicionales en una página de blog. , sin embargo, se muestra y luego se oculta con un solo clic. He puesto una alerta tanto en 'if' como en 'else' y ambos aparecen, entonces, ¿cómo se invoca dos veces?
obviamente cuando el enlace contiene el texto 'Mostrar' revela el div oculto, y cuando se hace clic de nuevo no encontrará 'Mostrar' y por lo tanto ocultará el div. Lo curioso es que funcionaba perfectamente. Está en la intranet de la compañía, así que supongo que tal vez algo más pueda afectarlo, pero realmente no veo cómo.
Esta no es la mejor solución ... tratar el problema no los síntomas, si se está ejecutando dos veces, * ¿por qué? No hay razón para ejecutar todo el código del controlador "listo" dos veces, es muy ineficiente. ¿Qué sucede si otros manejadores 'click' están vinculados a ese elemento? –
Creo que tiene que ver con. Ya se está llamando más de una vez. nuestras páginas son amalgamaciones de toneladas de diferentes fragmentos de código. por lo que las funciones reutilizables se ponen en llamadas individuales. listo. la desvinculación hizo el truco para mí, gracias. –
Conozco a Nick, pero no tengo idea de por qué su declaración lista se ejecutó dos veces, por lo que no podía indicar en la dirección de una posible solución para eso. Aunque debería haber agregado que esto fue una solución alternativa en lugar de una solución per se. – Sander