jQuery Mobile bricht meine Website

8

Ich lade jQuery Mobile auf meiner Website, wenn ich nur auf einem mobilen Touchscreen-Gerät bin. Wenn ich es tue. Es vermasselt alles. Zum Beispiel funktionieren ausgewählte Menüs nicht ganz richtig, und die Wörter "Laden, Laden, undefiniert" erscheinen unten auf der Seite. Ich weiß, dass ich etwas vermisse, aber nicht weiß was.

Irgendwelche Ideen, was ich vermissen könnte?

Danke

EDIT: Okay, also habe ich alle Skripte außer jQuery und jQuery Mobile rausgenommen. Ich rufe zuerst jQuery und dann jQuery Mobile an. Es bricht immer noch Aspekte der Website.

Was es bricht:  - Ich kann nicht über die Navigationsleiste zu einer anderen Seite navigieren, wenn ich auf ein Navigationselement klicke und in die URL schaue, erscheint die korrekte URL (mit einem # drin) wie: / # / about-us / Dann ist es einfach Weiterleitung auf die Startseite und die Seite wird weiß

  • Menüs haben seltsame Ergebnisse. Es druckt, was in der Auswahl rechts daneben ist. Und wenn Sie im Querformat auf dem iPad und Sie auf die Auswahl klicken, sendet es Sie an den unteren Rand der Seite (seltsam).

  • es druckt zweimal 'loading' und 'undefined' einmal am Ende der Seite

  • aus

Alles was ich für Skripte habe, sind jQuery und jQuery Mobile. Ich sollte auch erwähnen, dass ich Wordpress verwende, so dass es einige andere Skripte eingereiht haben könnte (Ich habe die WordPress-Version von jquery abgemeldet und meine eigene eingereiht).

Hat noch jemand diese Probleme?

    
jasonaburton 31.05.2012, 16:41
quelle

3 Antworten

12

jQueryMobile ersetzen Sie Ihre normalen Links durch Ajax one, so dass jede Seite von der Seite ajax, text auf docs geladen werden kann:

(..) Ajax is used to load the contents of each page into the DOM as you navigate, and the DOM ready handler only executes for the first page. To execute code whenever a new page is loaded and created, you can bind to the pageinit event. This event is explained in detail at the bottom of this page.

Wenn Sie den einzelnen Link deaktivieren möchten, der vom Ajax geladen werden soll, sollten Sie etwas wie folgt schreiben:

%Vor%

oder global:

%Vor%

jm ersetzt auch andere Elemente, also sollten Sie versuchen, data-role attribute zu verwenden, zum Beispiel:

%Vor%

um das Ersetzen dieses Elements zu deaktivieren.

    
dvk3 31.05.2012, 19:55
quelle
2

Für diejenigen wie mich wo

%Vor%

hat nicht funktioniert und das ganze Seitenlayout scheint immer noch kaputt zu sein:

Für mich funktioniert das (- setze es inline, bevor die jquery mobile Datei geladen wird):

%Vor%

Wenn Sie die automatische Verarbeitung von jQuery Mobile-Links und -Formularen über Ajax deaktivieren möchten, setzen Sie ajaxEnabled auf false und pushStateEnabled auf false wie empfohlen:

%Vor%

Weitere Informationen finden Sie unter Ссылка

Ich verwende v1.4.5

    
sasha 26.03.2015 16:52
quelle
0

Das ist mir auch passiert, indem ich Mobile mit anderen Frameworks gemischt habe. Problem behoben, aber benutzerdefiniertes Build von jQuery.mobile erhalten. Mein Fall war, dass ich für Touch-Geräte nur wischen musste, so dass benutzerdefinierte Min-Datei verwendet und nichts danach wurde gebrochen.

Es hängt wirklich davon ab, ob Sie jQuery.mobile brauchen oder nur eine bestimmte Funktionalität, Widgets, Ereignisse? Verwenden Sie benutzerdefinierte Version, die Sie selbst erstellen können.

Sie können Ihre hier erstellen und herunterladen: Ссылка

Ich hoffe, es hat auch für euch funktioniert!

    
StefaDesign 14.11.2017 18:58
quelle

Tags und Links