02 Stimmen

jQuery Mobile: Style für dynamisch generierten Content

Frage von Gast | 17.05.2015 um 19:23

Ich benutze jQuery Mobile für eine Web-App. Auf einigen Seiten lade ich dynamischen Inhalt nach, je nachdem welche Angaben ein Nutzer gemacht hat.

Das Problem bei diesem dynamischen Content ist allerdings, dass die jQuery Mobile Styles für die grafischen Elemente nicht angewendet werden. Das betrifft zum Beispiel Input-Boxen, Input-Select-Auswahlboxen aber auch die normale Listview oder das Collabsible Set.

Offenbar wird das Styling beim anfänglichen Laden der Seite vorgenommen und müsste nach dem dynamischen Laden wiederholt werden. Gibt es irgendeine Möglichkeit dieses Styling manuell anzustoßen?

AntwortenPositivNegativ
0Beste Antwort0 Stimmen

Du kannst die Funktionen .trigger("create") oder .enhanceWithin() auf die neuen Elemente anwenden, um die Styles anzuwenden.

Wenn du dynamischen Content zum Beispiel in eine DIV-Box mit der ID "divid" geladen hast, ginge das so:

$("#divid").enhanceWithin();

Damit würden alle Elemente in der DIV-Box "divid" neu gestylt werden. Die Funktion .trigger("create") tut im Grunde genommen das gleiche, wurde aber mit der Version jQuery Mobile 1.4 als veraltet gekennzeichnet, man sollte stattdessen also .enhanceWithin() benutzen.

Wenn man alles in einer Funktion haben möchte, geht es so:

var newHTML = '<p>Neuer Inhalt</p>';
$("#divid").html(newHTML).enhanceWithin();

Unser neuer Inhalt steht in der Variable newHTML. Wir fügen diesen Inhalt in die DIV-Box mit der ID "divid" hinzu und aktualisieren anschließend den Style.

Es ist auch möglich einzelne Elemente anzusprechen, zum Beispiel:

$("select").selectmenu("refresh");
$("ul").listview("refresh");
$(".myclass").collapsibleset("refresh");

Mit der ersten Zeile können wir zum Beispiel das Menü einer Select-Auswahlbox aktualisieren wenn die neue Einträge hinzugefügt haben. Das Beispiel darunter aktualisiert alle Listviews und mit dem dritten Beispiel lassen sich alle Collapsible Sets der Klasse "myclass" aktualisieren.
18.05.2015 um 15:31

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

PHP: Datei Download Skript

Tutorial | 0 Kommentare

jQuery: CSS Stylesheet Switcher

Tutorial | 1 Kommentar

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.