Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie kann ich Klickereignisse auf Pseudoelementen in HTML erkennen?

Patricia Arquette
Freigeben: 2024-11-17 20:20:02
Original
284 Leute haben es durchsucht

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

Erkennen von Klickereignissen auf Pseudoelementen

In HTML erweitern Pseudoelemente den Stil und die visuellen Fähigkeiten eines Elements, ohne tatsächlich darin zu sein der DOM-Baum. Dies stellt eine Herausforderung dar, wenn versucht wird, Klickereignisse speziell auf Pseudoelementen zu erkennen.

Berücksichtigen Sie das folgende HTML und CSS:

<p>Lorem ipsum dolor sit amet</p>
Nach dem Login kopieren
p {
    position: relative;
    background-color: blue;
}

p:before {
    content: '';
    position: absolute;
    left:100%;
    width: 10px;
    height: 100%;
    background-color: red;
}
Nach dem Login kopieren

In diesem Beispiel ist das

Das Element verfügt über ein rotes Pseudoelement, das über seinen rechten Rand hinausragt. Ziel ist es, ein Klickereignis nur auf dem roten Bereich und nicht auf dem blauen Rechteck auszulösen.

Lösung

Leider ist es nicht möglich, Ereignisse direkt an Pseudo zu binden -Elemente, da sie nicht Teil des DOM-Baums sind. Ein Click-Handler kann nur an seine übergeordneten Elemente gebunden werden.

Um die gewünschte Funktionalität zu erreichen, ist eine Problemumgehung erforderlich:

  • Erstellen Sie ein untergeordnetes Element, z. B. ein , und platzieren Sie es direkt nach dem öffnenden

    Tag.

  • Wenden Sie CSS-Stile auf .p span anstelle von p:before an.
  • Binden Sie den Click-Handler an das .p ​​span-Element.

Dieser Ansatz im Wesentlichen simuliert das Verhalten eines Pseudoelements und ermöglicht gleichzeitig die Ereignisbehandlung für den spezifischen Interessenbereich.

Das obige ist der detaillierte Inhalt vonWie kann ich Klickereignisse auf Pseudoelementen in HTML erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage