>웹 프론트엔드 >CSS 튜토리얼 >CSS 의사 요소에서 클릭 이벤트를 어떻게 감지할 수 있나요?

CSS 의사 요소에서 클릭 이벤트를 어떻게 감지할 수 있나요?

DDD
DDD원래의
2024-12-23 05:51:37456검색

How Can I Detect Click Events on CSS Pseudo-Elements?

의사 요소에서 클릭 이벤트 감지

:before 및 :after와 같은 유사 요소는 다음을 통해 HTML 요소의 스타일 지정 기능을 향상시킵니다. 가상 콘텐츠를 삽입합니다. 그러나 이러한 가상 요소는 DOM의 일부가 아니며 직접적인 이벤트 처리 기능이 부족합니다.

주어진 예에서 빨간색 의사 요소(p:before를 사용하여 생성됨)에서만 클릭 이벤트를 감지하는 것은 문제가 있습니다. 의사 요소는 DOM에 표시되지 않으므로 클릭 이벤트를 DOM에 직접 바인딩할 수 없습니다.

해결책:

원하는 동작을 얻으려면 하위 요소 사용을 고려하세요. 의사 요소 대신 요소. 요소를 열고

꼬리표. 현재 p:before에 적용된 스타일을 이 대신 요소를 사용하세요.

<p>
  <span></span>Lorem ipsum dolor sit amet...
</p>
p span {
  content: '';
  position: absolute;
  left:100%;
  width: 10px;
  height: 100%;
  background-color: red;
}

이제 클릭 이벤트를 요소에 따라 이벤트를 처리합니다.

참고:

의사 요소 내의 하위 요소에 이벤트를 바인딩하는 것은 모든 브라우저에서 일관되게 지원되지 않습니다. 최적의 브라우저 간 호환성을 위해 이벤트 처리에 의사 요소를 사용하는 대신 위의 접근 방식을 사용하는 것이 좋습니다.

위 내용은 CSS 의사 요소에서 클릭 이벤트를 어떻게 감지할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.