JS 의 일부 호환성 문제 (직접 사용 가능)

글 목록
  • 1. 비 행 내 스타일 의 호환성 획득
  • 2. 사건 의 거품 을 막 는 호환성
  • 3. 기본 이벤트 차단 에 대한 호환성
  • 4. 사건 원 에 대한 호환성
  • 5. 키보드 이벤트 호 환
  • 6. 귀속 2 급 사건 감청 에 대한 호 환
  • 7. 사건 감청 제거 에 관 한 호환성
  • 8. 사건 의뢰 에 대한 봉인
  • * 8195: 브 라 우 저 마다 커 널 이 다 르 고 처리 엔진 이 다 르 며 렌 더 링 엔진 에 따라 같은 스타일 을 쓸 때 차이 가 생 길 수 있 습 니 다. 이 현상 을 호 환 이 라 고 합 니 다.
        그래서 저 는 JS 를 작성 하 는 데 필요 한 호환성 문법 을 정 리 했 습 니 다. public. js 에 직접 저장 할 수 있 습 니 다. 필요 할 때 직접 호출 할 수 있 습 니 다.
    1. 비 행 내 스타일 호환성 가 져 오기
    function getStyle(ele,attr){
        if(ele.currentStyle){
            return ele.currentStyle[attr];
        }else{
            return getComputedStyle(ele,false)[attr];
        }
    }
    

    2. 사건 의 거품 을 막 는 호환성
    function stopBubble(e){
        if(e.stopPropagation){
            e.stopPropagation();
        }else{
            e.cancelBubble = true;
        }
    }
    

    이벤트 거품 제거 에는 두 가지 방법 이 있 습 니 다.
  • 표준 W3C 방식: e. stopPropagation ();이곳 의 stopPropagation 은 표준 이벤트 대상 의 한 방법 으로 호출 하면 된다 (구 글 과 불 여우 지원, IE 지원 하지 않 음)
  • 비표 준 IE 방식: window. event. cancelBubble = true;이곳 의 cancelBubble 은 IE 이벤트 대상 의 속성 으로 true 로 설정 하면 됩 니 다 (IE 특유 의, 구 글 지원, 화 호 는 지원 하지 않 습 니 다)
  • 3. 기본 이벤트 의 호 환 을 막 기
    function stopDefault(e){
        if(e.preventDefault){
            e.preventDefault()
        }else{
            e.returnValue = false;
        }
    }
    

    4. 이벤트 원본 호 환
    function fn(eve){
    	var  e=eve|| window.event;
    	e.target ||e.srcElement;
    }
    

    5. 키보드 이벤트 호 환
    document.onkeypress=function(eve){
    	var  e=eve|| window.event;
    	e.keyCode||e.which;
    }
    

    6. 귀속 2 급 이벤트 감청 에 대한 호 환
    function add(eve){
    	var  e=eve|| window.event;
    	if(e.addEventListener){
    		return e.addEventListener(  ,      ,false );
    	}else{
    		e.attachEvent("on"+  ,      )
    	}
    }
    

    7. 사건 감청 제거 에 대한 호환성
    if (e.removeEventListener){
    	e.removeEventListener(  ,      ,false)
    }else{
    	e.detachEvent("on"+  ,      );
    }
    

    8. 사건 의뢰 에 대한 봉인
    oul.onclick=fn(achild,callback);		
    function fn(achild,callback){
       return function(eve){
        	var  e=eve|| window.event;
        	//      
        	var target=eve.target||eve.srcElement;
        	for(var i=0;i

    좋은 웹페이지 즐겨찾기