Domanda

Ho un sito con cinque schede usando jquery-ui. Ognuno carica un singolo script jQuery. Ora, quando ho caricato la seconda scheda e vado alla terza scheda, i js della seconda scheda rimangono ancora attivi e disturbano le mie azioni nello spazio della terza scheda.

Qualcuno può spiegarmi perché js fuori dalla seconda scheda rimane ancora attivo quando si passa alla terza scheda e come posso evitare tale comportamento?

È stato utile?

Soluzione

Dopo aver caricato uno script sulla pagina, questo rimane attivo fino all'aggiornamento della pagina. Non so come scaricare, ma puoi certamente disabilitare le azioni di un certo script a seconda di cosa si tratta. Potresti pubblicare un esempio dello script che causa i problemi?

EDIT: Ad esempio, se si dispone di uno script che dipende dalla scheda in cui ci si trova, è possibile condizionare le azioni nello script con le schede in corrispondenza di un determinato indice. Una sintassi demo:

// eseguirà l'azione solo se ci si trova nella scheda corrente

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

per ottenere quella variabile ( tabs_ui_index ) puoi fare qualcosa del genere:

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

Questo codice associa un " tabsselect " all'elemento che è a schede e imposta la variabile sulla scheda attualmente indicizzata ogni volta che un utente cambia una scheda.

Inoltre, puoi separare gli eventi, se hai caricato uno script che imposta un evento click per un pulsante che non esiste più o che stai utilizzando per uno scopo diverso ora:

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

Spero che questo aiuti. Fammi sapere se hai altre domande.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top