2011-11-24 5 views
2

내가 window 객체에 간단한 클릭 이벤트를 바인딩하고있어하지만 핸들러가 IE8에서 호출되지 않습니다 (크롬과 FF에서 작동) :IE에서 이벤트가 거품을 일으키지 않습니까?

$(window).click(function (e) { 
    alert('Hello there! I\'m in the window.click hanlder!'); 
}); 

사람이 왜 이런 일이?

답변

5

IE (IE8 테스트 중)가 window에 이벤트를 버블 링하지 않는 것으로 보입니다.

if (window.attachEvent) // IE 
{ 
    window.attachEvent('onclick', function() { 
     alert("Yay window obj was clicked! IE"); 
    }); 

    document.attachEvent('onclick', function() { 
     alert("Yay document obj was clicked! IE"); 
    }); 
} 
else if (window.addEventListener) // Other 
{ 
    window.addEventListener('click', function() { 
     alert("Yay window obj was clicked! Non-IE"); 
    }); 

    document.addEventListener('click', function() { 
     alert("Yay document obj was clicked! Non-IE"); 
    }); 
} 

따라서, 용액 document 대신 window 결합하는 것이다

여기서 예 (http://jsfiddle.net/SZXrn/8/)이다.

관련 문제