javascript 고급 프로 그래 밍 제2 판 제1 2 장 사건 요점 요약

7238 단어 JavaScript
자주 사용 하 는 크로스 브 라 우 저 검색 방법
var EventUtil={      //        ---    

    addHandler:function(element,type,handler){

        if(element.addEventListener){

            element.addEventListneter(type,handler,false);

        }else if(element.attachEvent){

            element.attachEvent("on"+type,handler);

        }else{

            element["on"+type]=handler;

        }

    }

    removeHandler:function(element,type,handler){       //        ---    

        if(element.removeEventListener){

            element.removeEventListneter(type,handler,false);

        }else if(element.detachEvent){

            element.detachEvent("on"+type,handler);

        }else{

            element["on"+type]=handler;

        }

    }

    getEvent:function(event){     //        ---  event     

        return event?event:window.event;

    }

    getTarget:function(event){    //        ---       

        return event.target||event.srcElement;

    }

    preventDefault:function(event){    //        ---      

        if(event.preventDefault){

            event.preventDefault();

        }else{

            event.returnValue=false;

        }

    }

    stoppropagation:function(event){    //        ---     

        if(event.stoppropagation){

            event.stoppropagation();

        }else{

            event.canceBubble=false;

        }

    }

    getRelatedTarget:function(event){    //          

        if(event.relatedTarget){

            return event.relatedTarget; 

        }else if(event.toElement){

            return envent.toElement;

        }else if(event.fromElement){

            return event.fromElement;

        }else{

            return null;

        }

    }

    getButton:function(event){         //     button    

        if(document.implementation.hasFeature("MouseEvent","2.0")){

            return event.button;

        }else{

            switch(event.button){

                case 0:

                case 1:

                case 3:

                case 5:

                case 7:

                return 0;

                case 2:

                case 6:

                return 2

                case 4:

                return 1

            }

        }

    }

    getCharCode:function(event){    //        ---charCode    

        if(typeof event,charCode=="number"){

            return event.charCode;

        }else{

            return event.keyCode;

        }

    }

}

이벤트 의뢰: 이벤트 처리 프로그램 이 너무 많은 해결 방안 으로 메모 리 를 줄 이 고 성능 을 향상 시 킵 니 다.시 뮬 레이 션 사건: 이것 은 비교적 복잡 하 니 천천히 연구 해 야 한다.
 

좋은 웹페이지 즐겨찾기