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 중국어 웹사이트의 기타 관련 기사를 참조하세요!