Dialog Widget

author
4 minutes, 6 seconds Read
Bemærk: Dialoger er forældede fra og med jQuery Mobile 1.4.0 og vil blive fjernet i 1.5.0. Med dialog-indstillingen, der leveres af page.dialog-udvidelsen af side-widgetten, kan du style en side som en dialog, men den særlige navigationshåndtering vil blive fjernet. Du kan også overveje at implementere dialoger ved hjælp af popup-widgets.

En hvilken som helst side kan præsenteres som en modal dialog ved at tilføje data-rel="dialog"-attributten til sidens ankerlink. Når “dialog”-attributten anvendes, tilføjer rammen stilarter for at tilføje afrundede hjørner, margener omkring siden og en mørk baggrund for at få “dialogen” til at se ud til at være ophængt over siden.

1

Du kan åbne en dialog programmatisk ved at kalde funktionen $.mobil.changePage-metoden:

1
2
3
4
4
5

Transitioner

Som standard, åbnes dialogen med en “pop”-overgang. Som på alle sider kan du angive enhver sideovergang, du ønsker i dialogen, ved at tilføje attributten data-transition til linket. For at få den til at virke mere dialoglignende anbefaler vi, at du angiver en overgang af typen “pop”, “slidedown” eller “flip”.
Mulige værdier omfatter: fade, pop, flip, turn, flow, slidefade, slide, slideup, slideup, slidedown, none.

1

Slutter dialoger

Når der klikkes på et link i en dialog, vil rammen automatisk lukke dialogen og gå over til den ønskede side, ligesom hvis dialogen var en normal side. Ikke desto mindre kan dialoger også kædes sammen, som forklaret nedenfor under “Kædning af dialoger”. På samme måde vil et link, der åbner et popup-vindue, også efterlade dialogen på plads.

Hvis dialogen har en overskrift, vil rammen tilføje en lukkeknap i venstre side af overskriften. Du kan ændre positionen ved at tilføje data-close-btn="right" til dialogcontaineren. Hvis du ikke ønsker en lukkeknap i overskriften eller tilføjer en brugerdefineret lukkeknap, kan du bruge data-close-btn="none".

For at oprette en “annullér”-knap i en dialog skal du blot linke til den side, der udløste, at dialogen blev åbnet, og tilføje data-rel="back"-attributten til dit link. Dette mønster med at linke til den foregående side kan også bruges på enheder uden for JavaScript.

For JavaScript-genererede links kan du blot indstille href-attributten til “#” og bruge data-rel="back"-attributten. Du kan også kalde dialogens close() metode for f.eks. at lukke dialoger programmatisk: $( ".ui-dialog" ).dialog( "close" ).

Indstilling af lukkeknappens tekst

Som sideplugin’et kan du indstille en dialogs lukkeknappens tekst via en indstilling eller dataattribut. Indstillingen kan konfigureres for alle dialoger ved at binde til mobileinit-hændelsen og indstille $.mobile.dialog.prototype.options.closeBtnText-egenskaben til en streng efter eget valg, eller du kan placere dataattributten data-close-btn-text for at konfigurere teksten fra din markup.

Historik & Adfærd for Tilbage-knappen

Da dialoger typisk bruges til at understøtte handlinger inden for en side, omfatter rammen ikke dialoger i hash-tilstandshistoriksporing. Det betyder, at dialoger ikke vises i kronologien for browsinghistorikken, når der klikkes på Tilbage-knappen. Hvis du f.eks. er på en side, klikker på et link for at åbne en dialog, lukker dialogen og derefter navigerer til en anden side, vil du, hvis du klikker på browserens Tilbage-knap på det tidspunkt, navigere tilbage til den første side og ikke til dialogen.

Kædning af dialoger

Bemærk: Hvis en dialog åbner en anden dialog (kæde), vil lukning af den sidste dialog med et link af typen data-rel="back" altid navigere til den foregående dialog, indtil rod-siden af typen data-role="page" er nået. Dette garanterer en konsistent navigation mellem dialoger.

Styling & tematisering

Dialoger kan styles med forskellige tema-swatches, ligesom enhver anden side, ved at tilføje data-theme-attributter til header-, indholds- eller footer-containere.

Dialoger har som standard afrundede hjørner. Indstillingen hjørner kan indstilles til falsk ved at tilføje data-corners="false" til dialogcontaineren:

Dialoger ser ud til at svæve over et overlejringslag. Dette overlay antager som standard indholdsfarven swatch ‘a’, men attributten data-overlay-theme kan tilføjes til sideomslaget for at indstille overlayet til et hvilket som helst swatchbogstav.

Dialoger kan også bruges mere som et kontrolark til at tilbyde flere knapper, hvis du blot fjerner den øverste margen fra dialogens indre containerelement. Hvis din dialogside f.eks. havde en klasse my-dialog, kunne du tilføje denne CSS for at fastgøre denne dialog øverst: .ui-dialog.my-dialog .ui-dialog-contain { margin-top: 0 }, eller du kunne bare anvende denne stil på alle dialoger med .ui-dialog .ui-dialog-contain { margin-top: 0 }.

Dialogbredde og marginer

For at sikre læsbarheden har dialoger en standard width på 92,5 % og en max-width på 500 pixel. Der er også en 10 % øverste margin for at give dialoger større øverste margen på større skærme, men kollapse til en lille margen på smartphones. Dialogens indre container er forskudt mod top med 15px for at skjule hjørnestilen, hvis en dialog bruges som kontrolark (se ovenfor). Hvis du vil tilsidesætte disse stilarter, skal du tilføje følgende CSS-override-regel til dit stilark og justere efter behov:

1
2
3
4
5
6
7
8

Similar Posts

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.