아래 코드는 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 프로퍼티를 이용해 이벤트 헨들러를 추가할 수 있다.

+ Recent posts