Javascript의 MSIE 및 addEventListener 문제
document.getElementById('container') 요소에서 addEventListener 메소드를 활용하여 실행하려고 할 때 웹페이지에서 콘텐츠를 복사할 때 "beforecopy" 기능을 사용하면 Internet Explorer(MSIE)에서 "개체가 이 속성 또는 메서드를 지원하지 않습니다." 오류가 발생할 수 있습니다.
이 문제는 MSIE에서 다음을 사용해야 하기 때문에 발생합니다. 표준 addEventListener 메소드 대신 attachmentEvent를 사용합니다. 이 문제를 해결하려면 addEventListener 메소드가 사용 가능한지 확인하고 사용 가능한 경우 이를 사용하고, 그렇지 않으면 attachmentEvent를 사용하십시오.
if (el.addEventListener){ el.addEventListener('click', modifyText, false); } else if (el.attachEvent){ el.attachEvent('onclick', modifyText); }
또 다른 접근 방식은 이 작업을 수행하는 함수를 생성하는 것입니다.
function bindEvent(el, eventName, eventHandler) { if (el.addEventListener){ el.addEventListener(eventName, eventHandler, false); } else if (el.attachEvent){ el.attachEvent('on'+eventName, eventHandler); } } bindEvent(document.getElementById('myElement'), 'click', function () { alert('element clicked'); });
addEventListener의 세 번째 인수는 useCapture이며, true로 설정되면 이벤트 캡처가 시작되어야 함을 나타냅니다.
위 내용은 MSIE에서 `addEventListener`가 오류를 발생시키는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!