윈도우의 onload, onresize, onscroll 이벤트는 다른 이벤트와 다릅니다. AttachEvent 또는 addEventListener를 사용하여 추가할 수 없습니다.
즉, 다음과 같이만 올 수 있습니다(예: onload, 아래 동일):
window.onload = function()
{
// ...
}
하지만 문제는 onload에 대한 새 이벤트 핸들러를 추가하려는 경우 window.onload에 값을 직접 할당할 수 없다는 것입니다. 그렇지 않으면 이전 할당을 덮어쓰게 됩니다.
이렇게 할 수 있습니다:
var oldLoadHandler = window.onload;
window.onload = function()
{
if (oldLoadHandler)
{
oldLoadHandler(); >}
newLoadHandler();
};
ezj에서는 더 편리합니다.
$(window).ready(onloadHandler1) ;
$(window).ready(onloadHandler2);
설명
우리가 주로 접하는 onload 이벤트는 document.body입니다. onload이지만 실제로는 IE의 오해로 인한 것입니다. 올바른 것은 window.onload여야 합니다. window.onload는 IE, Firefox 및 Chrome에서 유효합니다.