이벤트 이벤트 호환성

3391 단어 event
window.event 문제 설명:window.event 는 IE 에서 만 실행 할 수 있 고 Firefox 에서 만 실행 할 수 없습니다.이것 은 Firefox 의 event 는 이벤트 가 발생 하 는 현장에서 만 사용 할 수 있 기 때 문 입 니 다.해결 방법:이벤트 가 발생 하 는 함수 에 이벤트 파 라 메 터 를 추가 하여 함수 내(가상 인삼 은 evt)에서 var my Event=evt?evt:(window.event?window.event:null)를 사용 합 니 다.
Firefox 페이지 에서 호출 된 후 windows.event 대상 은 undefined 입 니 다.
if (typeof (window.event) == 'undefined') 
  • alert('window.event is undefined.'); 

  • else 
  • alert('window.event is defined.'); 

  • 이 코드 는 Firefox 에서 실 행 됩 니 다.결 과 는"window.event is undefined."입 니 다.IE 와 Chrome 에서 실 행 된 결과:"window.event is defined."
    1.함수 에서 이벤트 매개 변 수 를 전달 합 니 다.
      함수 에서 이벤트 인 자 를 전달 하면 IE 와 FF 의 이벤트 획득 을 호 환 할 수 있 습 니 다.예 를 들 어 아래 함수:
    function _test(evt)
    
    {
    
        var src = evt.srcElement || evt.target; //            
        alert(src.value); //       value   
    }
    

        그러면 우리 가 사용 할 때 이렇게 해 야 한다.

    2.함수 호출 에서 이벤트 대상 을 전달 하지 않 음
    함수 에서 매개 변 수 를 전달 하지 않 았 지만 이것 은 IE 에서 아무런 영향 을 주지 않 았 습 니 다.window.event 는 전체 대상 이기 때문에 어디에서 든 직접 호출 할 수 있 고 FF 에 서 는 안 됩 니 다.그래서 우 리 는 다른 방식 으로 얻 으 려 고 합 니 다.다음 과 같 습 니 다.
    unction _test2()
    
    {
    
        var evt = window.event || arguments.callee.caller.arguments[0]; //   event   
        var src = evt.srcElement || evt.target; //            
        var iKeyCode = evt.keyCode || evt.which; //       
        alert(src.value); //       value   
        if (window.navigator.userAgent.indexOf("IE")>=1){ 
           evt.keyCode =0;
    
                  evt.returnValue=false;
    
               }else{
    
                  evt.preventDefault();
    
               }
    
    }
    

        그러면 우 리 는 사용 할 때 일반적인 함수 호출 과 같이 함수 이름 을 직접 입력 하면 됩 니 다.다음 과 같 습 니 다.

     
     
    이벤트.srcElement 문제 설명:IE 에서 even 대상 은 srcElement 속성 이 있 지만 target 속성 이 없습니다.Firefox 에서 even 대상 은 target 속성 이 있 지만 srcElement 속성 이 없습니다.해결 방법:srcObj=event.srcElement 사용?event.srcElement : event.target;

    좋은 웹페이지 즐겨찾기