jQuery Load igen

Tags:    jquery

Jeg har et andet indlæg der relatere til dette emne, men jeg prøver lige igen igen.

Jeg har i min index.php fil en funktioner.js fil jeg inkludere, så når jeg fx trykker på <a href="beskeder.php">beskeder</a>

Så loader den i min <div id="load"></div> siden beskeder.php uden at opdatere.

Men når jeg gør det, kan jeg ikke bruge min funktioner.js fil, uden at inkludere den i filen.

Det virker fint, MEN! Nu dublere den alle mine funktioner, så når jeg gør brug af en funktion kan den ske 2 gange...

Hvordan forhindre jeg komplikationer på denne måde??



6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 10 karma
Sorter efter stemmer Sorter efter dato
Hej Guides,

Jeg ville utroligt gerne hjælpe dig, men det er ret svært når jeg ikke forstår hvad du mener. Det ville gøre det hele meget nemmere hvis du postede lidt kildekode.

Okay, så dine beskeder kommer ind i din <div> med id'et "load" fordi du har inkluderet din funktioner.js i index filen.

Jeg ville ikke inkludere din funktioner.js i beskeder.php, og grunden til at det måske ikke virker uden, kan være fordi du har click events, der ikke virker hvis du loader indholdet med jQuery.

I stedet kan du bruge on, hvis vi går ud fra at din beskeder.php har nogle elementer hvor deres class er "besked", hvilket kunne være tilfældet hvis du ville loade en besked direkte i din #load div:

Fold kodeboks ind/udJScript kode 


Igen, det her er bare gætteri eftersom jeg ingen data har på hvad det er du prøver at lave.. Håber det kan bruges alligevel!



Indlæg senest redigeret d. 02.09.2014 15:26 af Bruger #8884
Jeg er enig med Andreas, det er svært at hjælpe dig når vi intet aner om forudsætningerne. Jeg ser heller ikke nogen grund til at starte endnu en tråd. Når den foregående stadigvæk har åbne spørgsmål fra folk som forsøger at hjælpe dig.



Jeg beklager jeg ikke formår at forklare mig bedre, men tak for svarende!

Det jeg har på min side, er at alle mine sider bliver dynmisk hentet. I stedet for at jeg trykker på
<a href="om-os.php">Om os</a> hvor den derefter sender mig til en ny side, bliver blot min div med <div id="load"></div> henter min side ned, men jeg har funktioner i om-os.php som jeg ikke kan bruge uden at skulle inkludere .js filen der sørger for at når jeg klikker på <a href="om-os.php">Om os</a>at diven med id="load" henter siden.

Min .js fil ser sådan ud. Jeg inkludere den i hovede siden og i de sider der dynamisk bliver hentet for at gøre brug af dens funktioner, men problemet er at den dublere alt indholdet, som fx en load_data() funktionen

Fold kodeboks ind/udJScript kode 




Indlæg senest redigeret d. 02.09.2014 18:52 af Bruger #17509
Var det ikke en idé kun at inkludere de scripts du skal bruge, på de sider hvor du skal bruge dem..? For jeg kan ikke se grunden til at du skal hente alle dine scripts flere gange, og især på sider hvor alle funktionerne ikke er nødvendige.. Og uanset hvad bør du ikke hente samme script to gang!

Som jeg skrev før virker click events ikke hvis du loader dine sider med jQuery, brug den on funktion jeg kom med et eksempel på før istedet for click på dine undersider.

Derudover bør du også have alle dine jQuery funktioner indenfor $(document).ready() funktionen, dvs. alle dine click events og ajax. Du kan evt. se hvordan jeg gjorde i mit tidligere svar.

Iøvrigt kan jeg se at du selv har opfundet nogle attributes til dine elementer så du kan få din kode til at genkende dem, eller er jeg helt gal på den..? Istedet tror jeg det kunne være smart at benytte sig af en data attribute, som jQuery iøvrigt understøtter. Her er et lille eksempel:

HTML elementer:
Fold kodeboks ind/udHTML kode 


Og så med noget jQuery:
Fold kodeboks ind/udJScript kode 


Jeg har ikke testet det, men går ud fra at det kunne gøres sådan.. :-)



Indlæg senest redigeret d. 02.09.2014 19:26 af Bruger #8884
Jeg kan lige teste det, men ved du hvordan jeg tjekker om en side er hentet dynamisk?



Gør du det! :-)

Hvis din side er tom, kan du vel se om den bliver hentet dynamisk når du klikker på et af dine links, eller hvad tænker du..?



t