프로젝트를 할 때 window.onload를 사용해야 하는 경우가 많습니다.
은 다음과 같이 사용됩니다.
function func(){alert("창 온로드 이벤트입니다!");return;}
window.onload=func;
또는 다음과 같습니다:
window.onload=function(){alert("창 온로드 이벤트입니다!");return;}
그러나 window.onload는 동시에 여러 기능을 로드할 수 없습니다.
예:
함수 t(){
alert("t")
}
함수 b(){
alert("b")
}
window.onload =t ;
window.onload =b ;
나중에 이전 코드를 덮어쓰게 되며, 위 코드는 b만 출력하게 됩니다.
이 문제를 해결하려면 다음 방법을 사용할 수 있습니다.
window.onload =function() { t() }
또 다른 해결 방법은 다음과 같습니다.
//(전체 예시)는 다음과 같이 사용됩니다.
함수 t(){
alert("t")
}
함수 b(){
alert("b")
}
함수 c(){
alert("c")
}
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
}
}
}
addLoadEvent(t);
addLoadEvent(b);
addLoadEvent(c);
//window.onload =function() { t(); ;}
JS window.onload 추가 기능:
============관련정보================
attachEvent 이벤트가 객체에서 발생할 때마다 함수가 호출되도록 지정된 함수를 이벤트에 바인딩합니다.
Internet Explorer는 5.0부터 attachmentEvent 메소드를 제공합니다. 이 메소드를 사용하면 하나의 이벤트에 여러 처리 프로세스를 할당할 수 있습니다. AttachEvent는 현재 Opera에서도 작동합니다. 하지만 Mozilla/Firefox는 이 방법을 지원하지 않습니다. 그러나 이는 attachmentEvent와 유사하고 이벤트에 여러 핸들러를 할당하는 데에도 사용되는 또 다른 addEventListener 메소드를 지원합니다. 그러나 그들이 할당하는 이벤트에는 약간의 차이가 있습니다.attachEvent 메소드에서는 이벤트가 "on"으로 시작하지만 addEventListener에서는 이벤트가 "on"으로 시작하지 않습니다. 또한 addEventListener에는 일반적으로 이 매개변수가 있습니다. 매개변수가 false로 지정되었습니다.