> 웹 프론트엔드 > JS 튜토리얼 > IE8에서 addEventListener가 작동하지 않는 이유와 해결 방법은 무엇입니까?

IE8에서 addEventListener가 작동하지 않는 이유와 해결 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-27 17:40:30
원래의
564명이 탐색했습니다.

Why Doesn't addEventListener Work in IE8 and How to Fix It?

addEventListener가 IE8에서 작동하지 않음: 솔루션

최신 브라우저에서 널리 사용되는 기능에도 불구하고 addEventListener는 Internet Explorer 8에서 일관되게 작동하지 않습니다. 이 문제는 체크박스를 동적으로 생성하고 여기에 클릭 이벤트 리스너를 연결하려고 할 때 발생합니다.

이 문제를 해결하려면 브라우저 버전을 확인하는 조건부 확인을 구현할 수 있습니다. IE8과의 호환성이 필요한 경우 addEventListener 대신 attachEvent를 사용할 수 있습니다.

if (_checkbox.addEventListener) {
    _checkbox.addEventListener("click", setCheckedValues, false);
} else {
    _checkbox.attachEvent("onclick", setCheckedValues);
}
로그인 후 복사

이 접근 방식이 작동하는 이유는 다음과 같습니다.

  • attachEvent: IE9 이전 IE 버전의 경우,attachEvent는 이벤트 리스너를 등록하는 데 적합한 방법입니다. 지정된 리스너를 호출되는 EventTarget에 연결합니다.
  • addEventListener: IE9 이상 및 기타 최신 브라우저의 경우 addEventListener가 이벤트 등록에 선호되는 방법입니다.

브라우저 호환성에 따라 적절한 방법을 동적으로 선택함으로써 이 솔루션은 IE8 및 기타 지원 브라우저에서 클릭 이벤트가 올바르게 등록되도록 보장합니다.

위 내용은 IE8에서 addEventListener가 작동하지 않는 이유와 해결 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿