De pointer-events
eigenschap biedt controle over hoe HTML-elementen reageren op muis- / aanraakgebeurtenissen - inclusief CSS hover / actieve statussen, klik / tik-gebeurtenissen in Javascript en of de cursor al dan niet zichtbaar is.
.avoid-clicks ( pointer-events: none; )
Hoewel de pointer-events
eigenschap elf mogelijke waarden aanneemt, zijn ze op drie na gereserveerd voor gebruik met SVG. De drie geldige waarden voor elk HTMl-element zijn:
none
voorkomt alle klik-, status- en cursoropties op het opgegeven HTML-elementauto
herstelt de standaardfunctionaliteit (handig voor gebruik op onderliggende elementen van een element metpointer-events: none;
gespecificeerdinherit
gebruikt depointer-events
waarde van de ouder van het element
Kijk eens naar deze pen!
Zoals hierboven is aangetoond, is de belangrijkste use-case pointer-events
het toestaan dat klik- of tikgedrag door een element naar een ander element eronder op de Z-as gaat. Dit zou bijvoorbeeld handig zijn voor grafische overlays, of het verbergen van elementen met opacity
(bijv. Tooltips) en nog steeds tekstselectie toestaan op de inhoud eronder.
Nuttige Plaatsen
- “Het gebruik van pointer-events in CSS voor niet-SVG-elementen is experimenteel. De functie maakte vroeger deel uit van de CSS3 UI-conceptspecificatie, maar is vanwege veel openstaande problemen uitgesteld naar CSS4. " - Mozilla MDN
- "Als je een klikgebeurtenis-luisteraar aan een element toevoegt, verwijder dan de pointer-events-stijl (of verander de waarde naar auto, dan zal de click-gebeurtenis de aangewezen functionaliteit activeren. In feite respecteert de click-gebeurtenis de pointer-events-waarde." - David Walsh
Browser-ondersteuning
Deze browserondersteuningsgegevens zijn van Caniuse, die meer details bevat. Een getal geeft aan dat de browser de functie ondersteunt vanaf die versie.
Bureaublad
Chrome | Firefox | D.W.Z | Rand | Safari |
---|---|---|---|---|
4 | 3.6 | 11 | 12 | 4 |
Mobiel / tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 2.1 | 3.2 |
De ondersteuning is iets dieper in sommige browsers wanneer gebruikt op bijvoorbeeld IE 9 ondersteunt dat.