Interest Invokers og Command-attributten
Undersøg command- og commandfor-attributterne til deklarative handlinger
Interest Invokers og Command-attributten er en gratis HTML Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i HTML Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. HTML Academy-kurset indeholder 4 lektioner i alt.
To nye deklarative mønstre
Open UI-gruppen standardiserer to nye HTML-attributter — command til klikudløste handlinger og interesttarget til hover- eller fokusudløst "interesse" (grundlaget for værktøjstip og forhåndsvisninger). Begge udvider HTML med deklarativ adfærd, som traditionelt har krævet JavaScript.
Attributten command
En knap med command="show-modal" og commandfor="dialog-id" viser en dialog uden JS — og erstatter manuelle kald til dialog.showModal(). Andre kommandoer er: command="close" og command="toggle-popover" samt command="show-popover".
<button command="show-modal" commandfor="my-dialog">Open</button>
<dialog id="my-dialog">...</dialog>Understøttede kommandoer
Det første sæt dækker almindelige mønstre i brugergrænseflader: visning og skjulning af dialoger (det indbyggede <dialog>), skift af popovers (Popover API) og flere kommandoer over tid. Brugerdefinerede elementer kan angive, hvilke kommandoer de accepterer, via oncommand-hændelseshåndterere.
Brugerdefinerede kommandoer
Ud over de indbyggede kommandoer tillader specifikationen brugerdefinerede kommandostreng, der begynder med "--". Mål-elementet modtager en command-hændelse, som du kan håndtere i JS: el.addEventListener("command", (e) => { if (e.command === "--save") save(); }).
Interesseudløsere
Attributten interesttarget markerer et elements "interesse"-mål — typisk et værktøjstip, der vises, når markøren holdes over elementet, eller når det får fokus. Browseren håndterer automatisk timingen (300 ms forsinkelse ved hensigt om at holde markøren over elementet), placeringen (med ankerpositionering) og lukningen.
<button interesttarget="user-info">Profile</button>
<div id="user-info" popover="hint">Ada Lovelace — Admin</div>Kombineret med popover="hint"
Popover-tilstanden hint er beregnet til værktøjstip-lignende popovers, der vises ved interesse. De er ikke-modale, stjæler ikke fokus og lukkes, når interessen ophører. Kombinationen af interesttarget + popover="hint" giver dig et indbygget værktøjstip med to HTML-attributter.
Tilgængelighedsfordele
Indbyggede dialoger håndterer fastholdelse af fokus; indbyggede popovers håndterer stabling; og indbyggede interesseudløsere håndterer tidsforsinkelsen ved hensigt om at holde markøren over elementet samt annoncerer relationer til skærmlæsere. Når du erstatter brugerdefinerede JS-implementeringer med disse deklarative grundelementer, forbedres tilgængeligheden pålideligt.
Specifikationens status
Disse funktioner er stadig under standardisering. De nøjagtige attributnavne og kommandosættet kan ændre sig. Browserimplementeringer kommer først i Chromium. Brug i produktion bør vente, indtil navngivningen er stabil, og mindst to browsere understøtter funktionerne — sandsynligvis inden for det næste år eller to.
Erstatning af JS-mønstre
Hver af disse funktioner erstatter JavaScript, som er blevet skrevet og omskrevet millioner af gange: dialoghåndtering, popoverudløsere og værktøjstip-adfærd. Når disse mønstre flyttes ind i HTML, bliver siderne mindre, konsistensen forbedres, og browseren kan anvende optimeringer.
Open UI som kilde
Open UI-fællesskabsgruppen (open-ui.org) driver en stor del af dette arbejde — den foreslår, laver prototyper af og fører nye HTML-elementer og -attributter gennem standardiseringsprocessen. Følg deres blog for de nyeste forslag.
Forbindelse til andre moderne funktioner
command, interesttarget, popover, dialog, anchor positioning, view transitions og tilpasningsbare select-elementer er alle del af den samme sammenhængende indsats for at flytte mønstre fra komponentbiblioteker ind i platformen. Hver funktion er lille i sig selv; tilsammen udgør de den største udvidelse af HTML's ordforråd for brugergrænseflader i årevis.
Hvad du kan gøre nu
Følg forslagene på open-ui.org, eksperimentér i Chromium med aktiverede funktionsflag, og planlæg at tage funktionerne i brug, efterhånden som de bliver stabile. Gennemgå din eksisterende kodebase, og opgør, hvor meget JS der bruges til understøttelse af dialoger, popovers og værktøjstip. Den kode er målrettet til udskiftning inden for få udgivelser.
Videnstjek
Hvad er formålet med attributten command på en knap?
Opsummering
To nye funktioner udvider HTML's deklarative ordforråd for brugergrænseflader: command + commandfor til klikudløste handlinger (vis modal, skift popover) og interesttarget + popover="hint" til hover- eller fokusudløste værktøjstip. Begge erstatter almindelige JavaScript-mønstre med HTML-attributter, hvilket forbedrer tilgængeligheden og reducerer pakkestørrelsen. Funktionerne er stadig under udvikling; følg Open UI, mens de stabiliseres, og tag dem i brug, efterhånden som browserunderstøttelsen kommer.
Lær HTML med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 40
- Lektioner
- 159
Ofte stillede spørgsmål
Er lektionen “Interest Invokers og Command-attributten” gratis?
Ja — alle 3 lektioner i læringssporet HTML Academy, inklusive “Interest Invokers og Command-attributten”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. HTML Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Interest Invokers og Command-attributten”?
Undersøg command- og commandfor-attributterne til deklarative handlinger Du øver dig i HTML Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på HTML Academy?
Der kræves ingen tidligere erfaring. HTML Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “Interest Invokers og Command-attributten”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne HTML Academy-lektion?
Ja. Alle HTML Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Deklarativ Shadow DOM
- Popover API
- selectlist-elementet
- Interest Invokers og Command-attributten