>  기사  >  웹 프론트엔드  >  EventUtil.addHandler 소개 및 사용

EventUtil.addHandler 소개 및 사용

零下一度
零下一度원래의
2017-07-18 17:49:442443검색

addHandler 메소드

그의 비난은 DOM0 레벨 메소드, DOM2 레벨 메소드 또는 IE 메소드가 이벤트를 추가하는 데 사용된다는 것입니다. 이 메서드는 브라우저 간의 차이점을 처리하는 데 사용할 수 있는 EventUtil이라는 개체에 속합니다. addHandler() 메소드는 3개의 매개변수, 즉 작업할 요소, 시간 이름 및 이벤트 핸들러 함수를 허용합니다.

addHandler() 메서드에 해당하는 메서드는 동일한 매개변수를 허용하는 RemoveHandler()입니다. 이 메서드의 목적은 이벤트 핸들러가 요소에 추가된 방식에 관계없이 이전에 추가된 이벤트 핸들러를 제거하는 것입니다. 다른 메소드가 유효하지 않은 경우 기본적으로 DOM 레벨 0 메소드가 사용됩니다.

addHandler() 메서드에 해당하는 메서드는 동일한 매개변수를 허용하는 RemoveHandler()입니다. 이 메서드의 목적은 이벤트 핸들러가 요소에 추가된 방식에 관계없이 이전에 추가된 이벤트 핸들러를 제거하는 것입니다. 다른 메소드가 유효하지 않은 경우 기본적으로 DOM 레벨 0 메소드가 사용됩니다.

//EventUtilvar EventUtil = {

            addHandler: function (element, type, handler) {if (element.addEventListener) {        //DOM2级
                    element.addEventListener(type, handler, false);

                } else if (element.attachEvent) {      //DOM1级
                    element.attachEvent("on" + type, handler);

                } else {
                    element["on" + type] = handler;    //DOM0级
                }
            },

            removeHandler: function (element, type, handler) {   //类似addHandlerif (element.removeEventListener) {
                    element.removeEventListener(type, handler, false);

                } else if (element.detachEvent) {
                    element.detachEvent("on" + type, handler);

                } else {
                    element["on" + type] = null;

                }
            }

        }var btn1 = document.getElementById("myBtn1");var handler = function () {
            alert("hello handler");
        }

        EventUtil.addHandler(btn1, "click", handler);

사용법:

 이 메서드는 먼저 DOM2 수준 메서드를 확인합니다. DOM2 수준 메서드가 존재하는 경우 이 메서드를 사용합니다. 이벤트 유형, 이벤트 핸들러 및 세 번째 매개변수 false(버블링을 나타냄)를 전달합니다. 무대) .

 IE 방식이 존재한다면 두 번째 옵션을 채택하세요. (IE8 이하 버전에서 실행하려면 이때 이벤트 유형 앞에 "on" 이 붙어야 합니다.)

마지막 가능성은 DOM0 레벨 방법을 사용하는 것입니다. 이 시점에서는 대괄호 구문을 사용하여 속성 이름을 이벤트 핸들러로 지정하거나 이벤트를 null로 설정합니다.


위 내용은 EventUtil.addHandler 소개 및 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.