Maison > interface Web > js tutoriel > Comment puis-je détecter les événements de clic sur des pseudo-éléments en HTML ?

Comment puis-je détecter les événements de clic sur des pseudo-éléments en HTML ?

Patricia Arquette
Libérer: 2024-11-17 20:20:02
original
343 Les gens l'ont consulté

How Can I Detect Click Events on Pseudo-Elements in HTML?

Détection des événements de clic sur des pseudo-éléments

En HTML, les pseudo-éléments étendent le style et les capacités visuelles d'un élément sans en être réellement l'arborescence DOM. Cela présente un défi lorsque l'on tente de détecter des événements de clic spécifiquement sur des pseudo-éléments.

Considérez le HTML et le CSS suivants :

<p>Lorem ipsum dolor sit amet</p>
Copier après la connexion
p {
    position: relative;
    background-color: blue;
}

p:before {
    content: '';
    position: absolute;
    left:100%;
    width: 10px;
    height: 100%;
    background-color: red;
}
Copier après la connexion

Dans cet exemple, le

L'élément a un pseudo-élément rouge s'étendant au-delà de son bord droit. Le but est de déclencher un événement clic uniquement sur la zone rouge et non sur le rectangle bleu.

Solution

Malheureusement, il n'est pas possible de lier directement des événements à des pseudo -éléments puisqu’ils ne font pas partie de l’arborescence DOM. Un gestionnaire de clics ne peut être lié qu'à ses éléments parents.

Pour obtenir la fonctionnalité souhaitée, une solution de contournement est requise :

  • Créez un élément enfant, tel qu'un élément , et placez-le juste après l'ouverture

    tag.

  • Appliquez les styles CSS à .p span au lieu de p:before.
  • Liez le gestionnaire de clics à l'élément .p span.

Cette approche est essentiellement simule le comportement d'un pseudo-élément tout en permettant la gestion des événements sur la zone d'intérêt spécifique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal