몇 가지 일반적인 문제와 해결 방법에 호환되는 자바 스크립트

  일반적으로 JS 좋은 점에서 호환성 문제, 다음 자신의 사용은 JS 파일에 넣어 수있을 때 나는 몇 가지 일반적으로 사용되는 치료 방법이 호환 컴파일이있다, 당신이 직접 소개 할 때 사용할 필요가 더 편리 할 것입니다.

 

인라인이 아닌 스타일에 먼저 접근

작동 및 getStyle (ELE, ATTR) {
     경우 (ele.currentStyle) {
         반환 ele.currentStyle을 [ATTR]; 
    } 다른 {
         반환 (ELE getComputedStyle를 거짓 ) ATTR]; 
    } 
}

[주] ARRT 여기 브래킷 구문을 사용하는 변수.

 

이벤트 객체의 두 번째 인수

// 이벤트 객체 호환 가져 오기 
기능 getEvent (ELE) {
     var에 E = || ELE window.event를을; 
}

 

셋째, 이벤트 버블 링

 

// 이벤트 버블 링 호환 
기능 stopBubble (E) {
     IF (e.stopPropagation) { 
        e.stopPropagation (); 
    } 다른 { 
        e.cancelBubble = true로 ; 
    } 
}

 

 

넷째, 브라우저의 기본 동작을 방지하기 위해

 

// 기본 이벤트 호환 중지 
기능 방지 (이브) {
     var에 E = || 이브 window.event를,
     IF (e.preventDefault) { 
        ; e.preventDefault을 () 
    } 다른 사람을 { 
        e.event.returnValue = false로 ; 
    } 
}

팁 : 매우 간단한 표현이 코드 플러스 거짓 반환의 마지막 줄에,도있다, 우리는주의해야한다 코드가 실행 뒤에 사용하는 경우,이 코드는 특정 이벤트의 마지막 줄에 작성되지 않았거나 에주의를 지불합니다.

 

다섯째, 이벤트는 이벤트를 바인딩 및 삭제

  1. 바인드 청취 스타일 이벤트

// 监听式绑定
함수 addEvent (ELE 입력, CB) {
     경우 (ele.addEventListener) { 
        ele.addEventListener (유형, CB); 
    } 다른  경우 (ele.attachEvent) { 
        ele.attachEvent ( + "ON" 형, CB); 
    } 다른 { 
        [ELE의 = + 형 "ON"] CB; 
    } 
}

  2. 이벤트를 기울인다 유형을 삭제

// 删除绑定
함수 romoveEvent (ELE 입력, CB) {
     경우 (ele.removeEventListener) { 
        ele.romoveEventListener (유형, CB); 
    } 다른  경우 (ele.detachEvent) { 
        ele.detachEvent ( + "ON" 형, CB); 
    } 다른 { 
        [ELE의 = + 형 "ON"] ; 
    } 
}

 

여섯째, 키보드 이벤트

// 키보드 호환 감지 
기능 KEYc (이브) {
     var에 E = || 이브 window.event를;
     var에 KEYc = e.keyCode || e.which,
     반환 KEYc을; 
}

 

추천

출처www.cnblogs.com/mengshou/p/11427642.html