아래 코드는 doFunction() 메서드를 이벤트핸들러에 추가하는 코드이다.
// 변수.addEventListener("click", 메서드, false); var evt = document.getElementById("event_btn"); evt.addEventListener("click", doFunction, false); |
문제점 : IE8 이하 버전에서는 addEventListener()를 지원하지 않는다.
해결방안 :
function addListener(target, type, handler) { if (target.addEventListener) { target.addEventListener(type, handler, false); } else if (target.attachEvent) { target.attachEvent("on" + type, handler); } else { target["on" + type] = handler; } } |
DOM 레벨 0에 따르는 브라우저에서도 on 프로퍼티를 이용해 이벤트 헨들러를 추가할 수 있다.
'Web > JavaScript' 카테고리의 다른 글
[javascript] alert(알림), confirm(확인), prompt(프롬프트) (0) | 2013.08.22 |
---|---|
[javascript] 숫자만 입력가능한 텍스트필드 (0) | 2013.08.22 |
[Javascript] 로딩바 구현 (0) | 2013.08.20 |
[Javascript] IE getElementsByName bug (0) | 2013.08.19 |