"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Puede detectar eventos de clic en pseudo-elementos CSS?

¿Puede detectar eventos de clic en pseudo-elementos CSS?

Publicado el 2025-03-12
Navegar:894

Can You Detect Click Events on CSS Pseudo-Elements?

Haga clic en la detección de eventos en pseudo-elements

pregunta:

en el código proporcionado, un evento de clic se realiza en el bit de pseudo) y el elemento azul (el elemento azul). Sin embargo, el objetivo es detectar clics solo en el pseudoelemento. ¿Es esto posible?

Respuesta:

No, no es posible detectar eventos de clic en pseudo-elementos directamente porque no existen como parte del modelo de objeto de documento (DOM). Los pseudo-elementos son elementos virtuales que generan el navegador y no son parte de la estructura HTML real.

enfoque alternativo:

si necesita implementar un manejador de clic específicamente para la región roja, puede crear un elemento infantil, como un span:

&]

Lorem ipsum dolor sit amet, ...

Lorem ipsum dolor sit amet, ...

Entonces, aplique estilos al elemento SPAN:

. Red-Bit { Posición: Absoluto; Izquierda: 100%; Ancho: 10px; Altura: 100%; Color de fondo: rojo; }

Lorem ipsum dolor sit amet, ...

Finalmente, ata el controlador de clic al elemento SPAN:

document.queryselector (". // Haga clic en el código del controlador });

Lorem ipsum dolor sit amet, ...

Este enfoque le permite capturar clics en la región roja mientras evita que los clics se activen en el elemento principal.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3