>웹 프론트엔드 >JS 튜토리얼 >의사 요소에서 클릭 이벤트를 감지할 수 있습니까?

의사 요소에서 클릭 이벤트를 감지할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-17 11:18:02901검색

Can You Detect Click Events on Pseudo-Elements?

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

문제:

특정 코드 조각에서 , 클릭 이벤트는 의사 요소를 포함하는 상위 요소에 바인딩됩니다. 그러나 목표는 의사 요소를 클릭할 때만 이벤트를 트리거하는 것입니다. 질문이 생깁니다. 의사 요소에서 클릭 이벤트를 감지할 수 있습니까?

답변:

안타깝게도 클릭 이벤트를 의사 요소에 직접 바인딩하는 것은 불가능합니다. ':before' 및 ':after'와 같은 의사 요소는 DOM(문서 개체 모델)의 일부가 아닙니다. 따라서 자체 이벤트 리스너가 없습니다.

해결책:

의사 요소(예: 빨간색 비트), 대체 접근 방식을 고려할 수 있습니다.

  1. span과 같은 하위 요소를 생성합니다.
  2. span 요소를 여는

    태그.

  3. 'p:before' 대신 'pspan'에 원하는 스타일을 적용합니다.
  4. 클릭 이벤트를 'pspan' 요소에 바인딩합니다.

하위 요소를 생성하고 여기에 스타일을 적용하면 클릭 이벤트 캡처 기능을 유지하면서 의사 요소의 동작을 효과적으로 모방할 수 있습니다.

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

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