Pregunta

Tengo un sitio con cinco pestañas usando jquery-ui. Cada uno carga un script jQuery individual. Ahora, cuando he cargado la segunda pestaña y voy a la tercera pestaña, el js de la segunda pestaña todavía permanece activo y perturba mis acciones en el espacio de la tercera pestaña.

¿Alguien puede explicarme por qué el js de la segunda pestaña todavía permanece activo al cambiar a la tercera pestaña y cómo puedo evitar ese comportamiento?

¿Fue útil?

Solución

Una vez que haya cargado un script en la página, permanecerá activo hasta que la página se actualice. No sé acerca de la descarga, pero ciertamente puede deshabilitar las acciones de un determinado script dependiendo de lo que sea. ¿Podría publicar un ejemplo del script que causa los problemas?

EDITAR: Por ejemplo, si tiene un script que depende de la pestaña en la que se encuentra, puede condicionar las acciones en el script con las pestañas en un determinado índice. Una sintaxis de demostración:

// solo ejecutará la acción si está en la pestaña actual

if(tabs_ui_index == 0){
  //do something
}

para obtener esa variable ( tabs_ui_index ) puede hacer algo como esto:

 $('#mytabs').bind('tabsselect', function(event, ui) {
     tabs_ui_index = ui.index;
 });

Este código enlaza una selección de pestañas " evento al elemento que se tabula y establece la variable a la pestaña indexada actualmente cada vez que un usuario cambia una pestaña.

Además, puede desvincular eventos, si cargó un script que establece un evento de clic para un botón que ya no existe, o que está utilizando para un propósito diferente ahora:

$("#mybutton").unbind("click");

Espero que esto ayude. Avíseme si tiene alguna otra pregunta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top