Drei Möglichkeiten, Ereignisse an HTML-Tag-Pseudoelemente zu binden
Dieser Artikel stellt Ihnen drei Möglichkeiten vor, Ereignisse an HTML-Tag-Pseudoelemente zu binden. Ich hoffe, dass er Ihnen als Referenz dienen wird.
In einem aktuellen Projekt bin ich auf die Funktion gestoßen, auf ein Symbol zu klicken, um bestimmte Vorgänge auszuführen. Es sollte sehr einfach zu implementieren sein, aber das Symbol wird durch ::after Pseudoelement implementiert Es scheint, dass die Pseudoelementoperation nicht direkt ausgeführt werden kann, aber alle Seiten im Projekt zeigen Symbole über Pseudoelemente an und es ist nicht möglich, die Symbole auf allen Seiten in DOM-Elemente umzuwandeln.
Nachdem ich im Internet nachgesehen habe, führen die meisten von ihnen die Methode ein, die Mauszeigerkoordinaten über das Ereignisobjekt abzurufen, um festzustellen, ob der angeklickte Bereich der Bereich ist, in dem sich das Pseudoelement befindet. Dies ist jedoch sehr mühsam.
Das Folgende ist eine Zusammenfassung mehrerer einfacher Möglichkeiten zur Handhabung der Ereignisverarbeitung beim Klicken auf Pseudoelemente, mit angehängtem Beispielcode.
HTML-Struktur
Zuallererst ist die HTML-Struktur so
<section> <span>按钮文字</span> </section>
Implementierungsmethode
Die erste
über CSS3 Pointer-Events-Eigenschaften, die erreicht werden sollen.
CSS-Code
<style> *{margin: 0; padding:0;} section{ border: 1px solid #abc; border-radius: 5px; background-color: #def; font-family: Microsoft YaHei; height: 40px; box-sizing: border-box; cursor: pointer; font-size: 16px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); pointer-events: none; /* 关键点在这里,元素禁止响应鼠标事件 */ } section::after{ content: ''; border-left: 1px solid #abc; display: inline-block; width: 24px; height: 100%; background-size: contain; background-position: center; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAABEklEQVRoQ+2X3Q3CMAyE3Y3YBDZAbOBRzAaMwkiMgCqlUoX4SX13qiKcl77Uzn13ddpONviaBtdvBbB3gpVAJQA6UI8QaCBcXgnAFoINKgHQQLhcmoC738zsHhHzVbJkAE38uam+qCAkAC/iF+clEHSAD+JlEFSAH+IlEDSATvF0CArARvFUCBggKZ4GAQG4+8HMTuABHxHxyPaAALKbMusKgOlmptd/J9CG+JhxblVz3XWIhz5GFxeTEJSPO9oMbISgiJ8NpAHMzTohaOLpAB0QVPESgC8QdPEygDcQEvFSgBXEmD/14Mutu5x6CnXvSryxAIhmplpVAinbiEWVANHMVKtKIGUbsagSIJqZajV8Ak/MSlox+m54VQAAAABJRU5ErkJggg==); pointer-events: auto; /* 关键点在这里,伪元素覆盖父元素的 pointer-events: none ,响应鼠标事件 */ } section span{ display: inline-block; height: 100%; vertical-align: top; line-height: 40px; padding-left: 10px; } </style>
JavaScript-Code
<script> document.querySelector('section').addEventListener('click', ()=>{ console.log('只有点击伪元素才能触发click'); }); </script>
Der zweite Typ
wird durch Verhindern von Event-Bubbling implementiert
CSS-Basiscode Das Gleiche wie Ändern Sie oben pointer-events: none und pointer-events: auto;
<script> document.querySelector('section').addEventListener('click', ()=>{ // 因为其他子元素事件冒泡被阻止了,所以点击section的时候,只剩下伪元素覆盖区域进入到事件监听中 console.log('只有伪元素才能触发click'); }); document.querySelector('span').addEventListener('click', ev=>{ // 阻止文字元素的事件冒泡 ev.stopPropagation(); }); </script>
Die dritte Methode
Verwendet die Zeigerkoordinaten des Ereignisobjekts, um zu bestimmen, ob der Klick im Bereich des Pseudoelements liegt. Sie können es finden indem du nach Du Niang gehst.
Das Letzte ist, wenn es nicht funktioniert, verwenden Sie nicht ::. Ersetzen Sie es anschließend durch den tatsächlichen Dom-Knoten, ah O(∩_∩)O haha~
Dieser Artikel ist hier. Weitere spannende Inhalte finden Sie in der Spalte HTML-Video-Tutorial auf der chinesischen PHP-Website!
Das obige ist der detaillierte Inhalt vonDrei Möglichkeiten, Ereignisse an HTML-Tag-Pseudoelemente zu binden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Anleitung zum Tabellenrahmen in HTML. Hier besprechen wir verschiedene Möglichkeiten zum Definieren von Tabellenrändern anhand von Beispielen für den Tabellenrand in HTML.

Dies ist eine Anleitung für verschachtelte Tabellen in HTML. Hier diskutieren wir anhand der entsprechenden Beispiele, wie man eine Tabelle innerhalb der Tabelle erstellt.

Anleitung zum HTML-Rand links. Hier besprechen wir einen kurzen Überblick über HTML margin-left und seine Beispiele sowie seine Code-Implementierung.

Leitfaden zum HTML-Tabellenlayout. Hier besprechen wir die Werte des HTML-Tabellenlayouts zusammen mit den Beispielen und Ausgaben im Detail.

Anleitung zum Verschieben von Text in HTML. Hier besprechen wir eine Einführung, wie Marquee-Tags funktionieren, mit Syntax und Beispielen für die Implementierung.

Leitfaden zur HTML-geordneten Liste. Hier besprechen wir auch die Einführung von HTML-geordneten Listen und Typen sowie deren Beispiele

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Anleitung zum HTML-OnClick-Button. Hier diskutieren wir deren Einführung, Funktionsweise, Beispiele und Onclick-Events in verschiedenen Veranstaltungen.
