La pointer-events
propriété permet de contrôler la façon dont les éléments HTML répondent aux événements de souris / toucher - y compris les états de survol / actif CSS, les événements de clic / tap en Javascript et si le curseur est visible ou non.
.avoid-clicks ( pointer-events: none; )
Alors que la pointer-events
propriété prend onze valeurs possibles, toutes sauf trois sont réservées à une utilisation avec SVG. Les trois valeurs valides pour tout élément HTMl sont:
none
empêche toutes les options de clic, d'état et de curseur sur l'élément HTML spécifiéauto
restaure la fonctionnalité par défaut (utile pour une utilisation sur des éléments enfants d'un élément avecpointer-events: none;
spécifiéinherit
utilisera lapointer-events
valeur du parent de l'élément
Découvrez ce stylo!
Comme démontré ci-dessus, le principal cas d'utilisation pointer-events
est de permettre au comportement de clic ou de tapotement de «passer» un élément à un autre élément situé en dessous sur l'axe Z. Par exemple, cela serait utile pour les superpositions de graphiques ou pour masquer des éléments avec opacity
(par exemple des infobulles) tout en permettant la sélection de texte sur le contenu en dessous.
Points d'interêts
- «L'utilisation d'événements de pointeur en CSS pour les éléments non SVG est expérimentale. La fonctionnalité faisait partie du projet de spécification de l'interface utilisateur CSS3 mais, en raison de nombreux problèmes en suspens, a été reportée à CSS4. » - Mozilla MDN
- "Si vous ajoutez un écouteur d'événement de clic à un élément, puis supprimez le style d'événements de pointeur (ou changez sa valeur en auto, l'événement de clic déclenchera la fonctionnalité désignée. Fondamentalement, l'événement de clic respecte la valeur des événements de pointeur." - David Walsh
Prise en charge du navigateur
Ces données de support de navigateur proviennent de Caniuse, qui contient plus de détails. Un nombre indique que le navigateur prend en charge la fonctionnalité dans cette version et plus.
Bureau
Chrome | Firefox | C'EST À DIRE | Bord | Safari |
---|---|---|---|---|
4 | 3,6 | 11 | 12 | 4 |
Mobile / tablette
Chrome Android | Android Firefox | Android | Safari sur iOS |
---|---|---|---|
88 | 85 | 2,1 | 3.2 |
Le support est un peu plus profond dans certains navigateurs lorsqu'il est utilisé , par exemple, IE 9 le prend en charge.