HTML Popover API: plac zabaw na żywo i dokumentacja

Plac zabaw HTML Popover API

HTML Popover API: popovertarget, showPopover, zdarzenia | We.Inc

Wypróbuj Popover API na żywo: popovery auto, manual i hint, przyciski popovertarget, showPopover, hidePopover i togglePopover oraz log zdarzeń beforetoggle i toggle.

Dodaj atrybut popover do dowolnego elementu i wskaż go przyciskiem przez popovertarget="id", a przeglądarka sama obsłuży otwieranie, zamykanie, top layer i klawisz Escape, bez JavaScriptu. W skryptach wywołuj showPopover(), hidePopover() lub togglePopover() i nasłuchuj zdarzeń beforetoggle i toggle. popover="auto" zamyka się po kliknięciu poza nim; manual nie.

Typy popoverów

Popovery oznaczały kiedyś bibliotekę do pozycjonowania, obsługę kliknięcia poza elementem i walkę z z-index. Popover API przenosi to wszystko do HTML. Poniższy plac zabaw tworzy w Twojej przeglądarce prawdziwy popover, abyś mógł zmieniać jego typ, sterować nim z kodu i obserwować kolejność zdarzeń.

Najczęściej zadawane pytania

Które przeglądarki obsługują Popover API?

MDN oznacza Popover API jako Baseline newly available od stycznia 2025, co znaczy, że działa w najnowszych wersjach głównych przeglądarek. Niektóre nowsze części, na przykład wartość hint, mogą mieć węższe wsparcie, więc sprawdź tabelę kompatybilności, zanim zaczniesz na nich polegać.

Czym różnią się popovery auto i manual?

Popover auto obsługuje light dismiss: kliknięcie poza nim lub naciśnięcie Escape go zamyka, a jego otwarcie zamyka inne popovery auto. Popover manual pozostaje otwarty, dopóki nie zamknie go przycisk lub skrypt, i kilka może być otwartych razem, co pasuje do powiadomień typu toast.

Czy Escape zamyka każdy popover?

Escape zamyka popovery auto i hint, te same, które zamykają się po kliknięciu poza nimi. Popover manual ignoruje oba, więc potrzebuje własnego przycisku zamykania lub wywołania hidePopover().

Skąd mam wiedzieć, kiedy popover się otwiera lub zamyka?

Nasłuchuj zdarzenia toggle na elemencie popovera. Jego newState to "open" lub "closed". Zdarzenie beforetoggle uruchamia się tuż przed zmianą i to dobre miejsce na przygotowanie treści.

Gdzie domyślnie pojawia się popover?

Na środku viewportu, z pozycjonowaniem fixed, w top layer. Przesuń go własnym CSS albo przez anchor positioning tam, gdzie przeglądarka to obsługuje.

Najpierw deklaratywnie

Menu, powiadomienia i podpowiedzi

Dokumentacja Popover API

Atrybuty, metody, zdarzenia i selektory

Przykłady popoverów bez JavaScriptu

Te ramki działają z wyłączonymi skryptami, a popovery i tak działają, bo ich zachowanie pochodzi z HTML.

Menu jako popover auto

Kliknij przycisk, a potem kliknij gdzie indziej lub naciśnij Escape. Menu zamknie się samo.

Powiadomienie manual z osobnymi przyciskami pokazania i ukrycia

Kliknięcie poza nim nic tu nie robi. Zamyka je tylko przycisk ukrycia.

Przyciemnij stronę pod popoverem

::backdrop stylizuje warstwę pod popoverem. Nadal nie jest modalny; kliknięcie strony pod spodem go zamyka.

Sterowanie popoverem z JavaScriptu

Metody, zdarzenia i wykrywanie wsparcia

Sprawdź wsparcie przed wywołaniem metod, a potem odczytaj newState w zdarzeniu toggle.

Plac zabaw popovera

Twoja przeglądarka uruchamia tu prawdziwy popover: zmieniaj jego typ, wywołuj jego metody i czytaj log zdarzeń.

Przycisk deklaratywny (popovertarget)

Metody skryptowe

Jestem popoverem typu {v}. Kliknij poza mną lub naciśnij Escape, aby sprawdzić light dismiss.

Zamknij

Stan: {v}

Log zdarzeń

Wyczyść log

Brak zdarzeń.

Ta przeglądarka nie obsługuje Popover API, więc plac zabaw jest wyłączony.

Błąd: {v}

Zacznij za darmo · Bez karty kredytowej

Powiązane: Poradniki

Produkt

Dla kogo

Funkcje

Zasoby

Firma

Mapa strony