Verwendung normaler JQuery im Phonegap-Projekt (mit JQuery Mobile)

8

Ich baue eine App, die Cordova / PhoneGap und JQuery Mobile verwendet.

Ich möchte JQuery in der App verwenden, aber ich kann es nicht zum Laufen bringen - nichts passiert, selbst mit einfachem Code.

Ich glaube, ich habe die Header richtig gesetzt:

%Vor%

Wie bekomme ich die JQuery Mobile Style Header und Zurück Buttons etc.

Aber wenn ich etwas Einfaches wie:

versuche %Vor%

In der Datei myscripts.js bekomme ich nichts. Muss ich die JQuery auf andere Weise auslösen? Könnte mir jemand in die richtige Richtung zeigen?

BEARBEITEN :

Ich fand dies was erwähnt wurde Putting es innerhalb der div. Das hat bei mir auch funktioniert, zB

%Vor%

Aber es gibt einen besseren Weg? Es muss eine Möglichkeit geben, diese Skripte alle in einer eigenen externen Datei zu haben?

PS: Mein HTML ist:

%Vor%     
MeltingDog 15.05.2013, 06:32
quelle

1 Antwort

13

Um ein Problem zu verstehen, müssen Sie verstehen, wie jQuery Mobile funktioniert. Es verwendet Ajax, um andere Seiten zu laden.

Die erste Seite wird normal geladen. Sein HEAD und BODY werden in das DOM geladen und sie sind dort, um auf andere Inhalte zu warten. Wenn die zweite Seite geladen wird, wird nur ihr BODY-Inhalt in das DOM geladen.

Wenn Sie also js-Dateien für jede Seite trennen möchten, müssen Sie sie aus dem BODY initialisieren, weil HEAD verworfen wird.

So:

%Vor%

Das gleiche gilt für Ihre LINK- und STYLE-Tags.

Wenn Sie mehr erfahren möchten, lesen Sie meinen anderen Artikel mit Beispielen zu diesem Thema: Warum muss ich all das setzen Skript zu index.html in jquery mobile

Andere Sache, wenn Sie mit jQuery Mobile arbeiten, verwenden Sie niemals diese Art der Initialisierung:

%Vor%

Auch sollten Sie das klassische jQuery-Dokument nicht verwenden. Bot von ihnen wird normalerweise ausgelöst, bevor die Seite erfolgreich in das DOM geladen wird. Aus diesem Grund verfügt jQuery Mobile über Seiten-Evenets. Und Sie hatten Recht, wenn Sie das Ereignis pageinit verwenden, aber Sie haben es falsch gemacht. jQuery Mobile Seitenereignisse sollten folgendermaßen verknüpft sein:

%Vor%

Wenn Sie mehr darüber erfahren möchten, lesen Sie meine andere Antwort in Bezug auf den Unterschied zwischen Dokumenten und anderen Ereignissen: jQuery Mobile: Dokument bereit vs Seite Ereignisse

    
Gajotres 15.05.2013, 07:20
quelle