>웹 프론트엔드 >JS 튜토리얼 >Internet Explorer 8에서 내 `addEventListener`가 작동하지 않는 이유는 무엇입니까?

Internet Explorer 8에서 내 `addEventListener`가 작동하지 않는 이유는 무엇입니까?

DDD
DDD원래의
2024-10-26 20:04:02890검색

Why Isn't My `addEventListener` Working in Internet Explorer 8?

Internet Explorer 8의 addEventListener 호환성 문제

Internet Explorer 8의 addEventListener 메서드에 문제가 있습니까? 더 이상 걱정하지 마세요! 해결책은 다음과 같습니다.

체크박스를 동적으로 생성하고 여기에 이벤트 리스너를 할당하여 클릭 시 기능이 실행되도록 했습니다. 이는 Chrome 및 Firefox와 같은 최신 브라우저에서는 완벽하게 작동하지만 Internet Explorer 8은 공놀이를 거부합니다.

두려워하지 마세요. 해결책은 addEventListener의 브라우저 호환성을 인식하는 데 있기 때문입니다. IE9 이전의 Internet Explorer 버전에서는 AttachEvent 메소드를 선택하는 것이 좋습니다. 다음과 같이 코드를 수정하세요.

if (_checkbox.addEventListener) {
    _checkbox.addEventListener("click", setCheckedValues, false);
}
else {
    _checkbox.attachEvent("onclick", setCheckedValues);
}

이 조건부 검사는 IE8 및 기타 브라우저와의 호환성을 보장합니다. addEventListener는 이를 지원하는 브라우저에 사용되고, attachmentEvent는 IE9 이하의 Internet Explorer 버전을 대신합니다.

IE9 이전 Internet Explorer 버전의 경우, attachmentEvent는 이벤트 등록에 선호되는 방법인 반면, addEventListener는 최신 브라우저에 더 적합합니다.

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

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