개체의 activeElement 속성을 설정하였을 때 발생한다.


이벤트 속성
object.onactivate=handler JScript 만-
object.onactivate=GetRef('handler') VBScript 5.0-
인라인 HTML <ELEMENT onactivate="handler"> 모든 플랫트폼
명명된 스크립트 <SCRIPT for=object event=onactivate> Explorer-
이벤트 특성
Bubbles 있슴
취소 불가
발생 원인
  • 문서의 활성(active) 엘레맨트 이외의 다른 엘레멘트에 클릭하였을 때.
  • 활성 엘레멘트에서 다른 엘레맨트로 키보드를 이용하여 초점을 이동 시켰을 때.
  • 현재 활성(active) 엘레맨트 이외의 다른 엘레멘트를 setActive 메서드를 이용해 활성화 시켰을 때.
디폴트 작용 event.fromElement에서 event.srcElement로 활성을 변경시킨다.
HTML 규격 비규격 IE 확장.

DHTML 개체 모델에서 이벤트처리자는 파라메터들을 직접 받지는 못해도, event개체의 쿼리를 사용할 수 있다.

altKey ALT 키가 눌렸는가를 반환하거나 설정한다.
altLeft 왼쪽 ALT 키가 눌렸는가를 반환하거나 설정한다.
clientX 윈도우 장식과 스크롤바를 제외한 사용자 지역에 상대적 마우스포인터 수평 좌표를 반환하거나 설정한다.
clientY 윈도우 장식과 스크롤바를 제외한 사용자 지역에 상대적 마우스포인터 수직 좌표를 반환하거나 설정한다.
ctrlLeft 왼쪽 CTRL 키가 눌렸는가를 반환하거나 설정한다.
offsetX 이벤트가 발생된 개체에 마우스포인터의 상대적인 위치(오프세트) 수평 좌표를 반환하거나 설정한다.
offsetY 이벤트가 발생된 개체에 마우스포인터의 상대적인 위치(오프세트) 수직 좌표를 반환하거나 설정한다.
returnValue 이벤트로 부터의 반환값을 반환하거나 설정한다.
screenX 사용자 스크린에 상대적인 마우스포인터의 수평 위치를 반환하거나 설정한다.
screenY 사용자 스크린에 상대적인 마우스포인터의 수직 위치를 반환하거나 설정한다.
shiftLeft 왼쪽 SHIFT 키가 눌렸는가를 반환하거나 설정한다.
srcElement 이벤트를 발생시킨 개체를 반환하거나 설정한다.
type 이벤트 개체의 이벤트 명칭을 반환하거나 설정한다.
x 상대적으로 위치한 모체 개체에 상대적인 위치 수평 좌표를 반환하거나 설정한다.
y 상대적으로 위치한 모체 개체에 상대적인 위치 수직 좌표를 반환하거나 설정한다.
특기
주기 : setActive 메서드의 사용은 문서 초점에는 영향을 주지 않는다. 그러나 focus 메서드를 개별 엘레멘트에 사용하면 그 엘레멘트에 초점이 가고 그 엘레멘트가 활성 엘레멘트가 된다.

비 활성화되는 개체에 onblur 이벤트가 발생되어야 만 그 개체가 활성을 잃고, 다른 개체에 onfocus 이벤트가 발생되어 그 개체가 activeElement가 된다.

각 문서는 한개의 활성 엘레멘트 만을 가질 수 있고, setActivefocus 메서드로 활성 엘레멘트를 지정할 수 있다.

초점을 갖지 않는 문서에서 focus 메서드를 사용하면 디스플레이 문서의 제일 앞에 초점이 가고 그 문서의 활성 엘레멘트가 초점을 받는다.

onload 이벤트 발생 전에, 적용되는 어떤 엘레멘트 개체의 onactivate 이벤트가 발생된다.

IE5.5 이후, document에 초점을 주는 것과 documentactiveElement를 별도로 처리할 수 있다. 엘레멘트가 활성화 되었을 때 양식을 변경하는 등을 위하여 onactivate 이벤트를 사용할 수 있다.

IE6에서, event.fromElement 속성에서 이 이벤트를 사용할 수 있게 되었다.

적용
개체scriptHTMLIE


onactivate, onload 이벤트 예제

결과 표시창

다른 엘레멘트 개체를 클릭하여 activeElement를 변경시켜 보라. 진행 순서를 볼 수 있다.

<SCRIPT>
showstr='';
function showActivate(){
  if (document.activeElement) {
    showstr+='<SPAN class=event>onactivate</SPAN> 이벤트가 '+document.activeElement.nodeName;
    showstr+=' 엘레멘트(id='+document.activeElement.id+')에 발생.<BR>';
    showA.innerHTML=showstr;
  }
}
function showLoad(){
  showstr+='<SPAN class=event>onload</SPAN> 이벤트가 <SPAN class=event>onactivate</SPAN>';
  str+=' 이벤트 발생 후 BODY 엘레멘트에 발생.<BR>'
  showA.innerHTML=showstr;
}
</SCRIPT>
<BODY onactivate="showActivate();" onload="showLoad();">
<DIV id=showA></DIV>
<BUTTON id=but1>단추 개체 1</BUTTON><BUTTON id=but2>단추 개체 2</BUTTON>
<BUTTON onclick=history.back() id=backbut>이전페이지</BUTTON>