addEvent 함수
이벤트 처리과정에서 이벤트 리스너를 등록할 수 있는 함수. (이벤트 처리기)
function addEvent( obj, type, fn ) {
if (obj.addEventListener)
obj.addEventListener( type, fn, false );
else if (obj.attachEvent)
{
obj["e"+type+fn] = fn;
obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
obj.attachEvent( "on"+type, obj[type+fn] );
}
}
고전적인 onclick등의 방법으로 불가능한 다수의 리스너를 연결하여 사용할 수 있다.
전달인자로는 (대상 엘리먼드, 이벤트 타입, 연결할 함수)이다.
아래와 같이 사용할 수 있다.
addEvent(document,'click',hideLayer);
addEvent(targetID,'click',function(){
func1();
func2();
});
IE6에서 select 메뉴를 숨기기 위해서는 몇가지 방법이 있다.
1. 레이어가 뜨는 영역의 select박스를 hidden 시키키
2. slelet box위에 iframe을 만들어주고 그 위에 레이어 띄우기
1번의 경우는 레이어가 고정값과 고정위치에서 보여진다면 쉽게 적용가능하나, 레이어의 위치등이 변하거나 셀렉트 박스가 중간에 걸쳐질경우에는 적용하기 힘들다.
2번의 경우엔 불필요한 태그가 들어가기도 하지만 어쨌든 유동적인 레이어에 적합한 형태이다.
단, 2번의 경우 매번 해당 레이어의 사이즈와 위치값을 계산하기 힘든점이 있어서 좀 간단하게 써먹기 위해 javascript로 만들어보았다.