Heim >Web-Frontend >js-Tutorial >Können Sie Klickereignisse auf CSS-Pseudoelementen erkennen?

Können Sie Klickereignisse auf CSS-Pseudoelementen erkennen?

Susan Sarandon
Susan SarandonOriginal
2024-11-28 15:28:14886Durchsuche

Can You Detect Click Events on CSS Pseudo-Elements?

Klicken Sie auf Ereigniserkennung bei Pseudoelementen

Frage:

Im bereitgestellten Code Ein Klickereignis wird sowohl auf dem Pseudoelement (rotes Bit) als auch auf dem Hauptelement (blaues Bit) ausgelöst. Das Ziel besteht jedoch darin, Klicks nur auf das Pseudoelement zu erkennen. Ist das möglich?

Antwort:

Nein, es ist nicht möglich, Klickereignisse auf Pseudoelementen direkt zu erkennen, da diese nicht als Teil des Dokumentobjekts vorhanden sind Modell (DOM). Pseudoelemente sind virtuelle Elemente, die vom Browser generiert werden und nicht Teil der eigentlichen HTML-Struktur sind.

Alternativer Ansatz:

Wenn Sie einen Klick implementieren müssen Wenn Sie einen Handler speziell für den roten Bereich verwenden, können Sie ein untergeordnetes Element erstellen, z. B. einen Span:

<p>
  <span class="red-bit"></span>
  Lorem ipsum dolor sit amet, ...
</p>

Anschließend wenden Sie Stile auf den Span an Element:

.red-bit {
  position: absolute;
  left: 100%;
  width: 10px;
  height: 100%;
  background-color: red;
}

Schließlich binden Sie den Click-Handler an das Span-Element:

document.querySelector(".red-bit").addEventListener("click", function() {
  // Click handler code
});

Mit diesem Ansatz können Sie Klicks im roten Bereich erfassen und gleichzeitig verhindern, dass Klicks auf dem ausgelöst werden Hauptelement.

Das obige ist der detaillierte Inhalt vonKönnen Sie Klickereignisse auf CSS-Pseudoelementen erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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