Domanda

Mi chiedo dove dovrei definire le mie azioni jQuery per le pagine caricate esternamente da schede di interfaccia utente.

Così, per esempio, ho una pagina index.html tra cui 3 schede. Onclick ogni scheda caricherà extern1.html, extern2.html, extern3.html. Questi 3 pagine esterne hanno bisogno di una serie di azioni di jQuery (onload-azioni, onclick-azioni e più).

Quando faccio a inserire tutto il codice jQuery per le pagine esterne al indice e mi carico una delle pagine esterne, questo codice jQuery non influenzerà la pagina caricata esterno quando clicco su una scheda.

Quando ho messo tutto il codice jQuery per le pagine esterne nella pagina esterna sé causerà problemi (credo), perché quando carico un / pagina esterna scheda più volte si caricherà codice jQuery più e più volte, a destra ?

Allora, dove devo mettere il mio codice jQuery? (Alcuni esempi?)

Molte grazie!

È stato utile?

Soluzione

Si potrebbe mettere il codice in gestore di eventi scheda-caricati:

$('.your-tabs-container').tabs({
   load: function(event, ui) { /* your code here */ }
});

o

$('.your-tabs-container').bind('tabsload', function(event, ui) {
  /* your code here */
});

In questi casi, secondo la documentazione, è possibile recuperare informazioni necessarie UI da argomento ui:

ui.tab     // anchor element of the selected (clicked) tab
ui.panel   // element, that contains the selected/clicked tab contents
ui.index   // zero-based index of the selected (clicked) tab

Altri suggerimenti

mettere il jQuery sulla html madre e utilizzare la funzione .live() per legare gli eventi che volevi. docs qui .

È necessario includere solo la libreria jQuery una volta! Sulla tua pagina indice. Sulle pagine esterne, è necessario includere il javascript usato il per quell'individuo pagina esterna:

Indice:

  • Inserisci la libreria jQuery

esterno 1:

  • funzioni jQuery rilevanti per pagina esterna 1

esterno 2:

  • funzioni jQuery rilevanti per pagina esterna 2

Ecco come lo farei: -)

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