각 브라우저에서 다음 코드의 결과를 살펴보세요.
test
IE8: 개체, 개체, 정의되지 않음
FF8.0: 정의되지 않음,MouseEvent,정의되지 않음
Cr16: MouseEvent,MouseEvent,undefine
Opera: MouseEvent,MouseEvent,undefine
Safira: MouseEvent,MouseEvent,undefine
기타 FF8을 제외한 모든 브라우저는 이미 window.event를 지원합니다.
ff8은 이벤트를 호출할 때 {event:new Event(...)}를 갖는 것으로 보이므로 onclick에서 직접 "event"를 사용하여 얻을 수도 있습니다. 이벤트 핸들.
또 다른: 호기심 많은 학생이 QWrap의 이벤트에 정적 메소드 QW.EventH.getEvent를 제공했는데, 이는 다양한 상황에서 현재 이벤트 객체를 얻는 데 사용됩니다.
/**
* 이벤트 객체 가져오기
* @method getEvent
* @param {event} 이벤트 (선택 사항) 이벤트 객체는 호출 위치가 있는 호스트의 이벤트를 기본값으로 설정합니다.
* @param {element} 요소 (선택 사항) 모든 요소 객체 요소 객체가 위치한 호스트의 이벤트
* @return {event} 이벤트 객체
*/
getEvent: function(event , 요소) {
if (이벤트) {
return 이벤트;
} else if (요소) {
if (element.document) {return element.document.parentWindow.event }
if ( element.parentWindow) {return element.parentWindow.event; }
}
if (window.event) {
return window.event;
var f = 인수.callee;
do {
if (/Event/.test(f.arguments[0])) {return f.arguments[0] }
} while (f = f .caller) ;
}
},
QW 페이지를 사용하면 다음과 같이 직접 작성할 수 있습니다.
즉, PreventDefault를 호출할 때 이벤트 인스턴스를 전달할 필요가 없습니다.