오늘은 아주 한가한 날이라 컴퓨터 앞에 앉아서 할 일이 없습니다. 제품 라인에 있는 사람들은 다음 주에 새로운 요구 사항과 작업 준비가 있을 수 있지만 그것은 다음 주입니다. 오늘은 기술적인 글을 쓰고 싶습니다. 제 수준에는 한계가 있습니다. 모두가 저에게 조언을 해주고 자비를 베풀어주셨으면 좋겠습니다. 하하.
때로는 DOM 요소의 기능을 확장하고 몇 가지 사용자 정의 메서드를 추가하여 보다 유연하고 편리하게 사용할 수 있도록 하기 위해 먼저 예를 들어 보겠습니다.
< ;
DOM 함수 확장
안녕하세요 ;/html>
위 코드에서 볼 수 있듯이 A 태그를 클릭하면 "Hello"가 팝업되는 것은 의심의 여지가 없습니다. onclick 이벤트 외에도 onmouseover, onmouseout, onmousemove 등이 있으며 이러한 이벤트는 모두 DOM 요소 자체에 내재되어 있지만 이제 이를 확장하여 tagA.bind를 지원하도록 할 수 있습니다. tagA.onclick=function(){} 대신 tagA.bind("click",function(){})를 사용하세요. 이제 목적은 매우 명확해졌습니다. 먼저 다음 코드를 살펴보겠습니다.
위의 코드는 함수를 확장한 후의 최종 결과입니다. 이전 코드와 기능은 동일하지만 지금은 실행할 수 없습니다. 그 전에 먼저 살펴보겠습니다. 이것은 매우 중요합니다.
1. HTMLElement. DOM 표준에서 각 요소는 HTMLElement에서 상속되고, Element는 Node에서 상속됩니다. HTMLElement의 프로토타입을 사용하여 HTML을 확장하는 방법 요소의 메소드와 속성을 구현하는 방법은 무엇입니까? 코드를 살펴보겠습니다.
< ;!DOCTYPE html>
DOM 함수 확장
!--
HTMLElement.prototype.Alert=function(){
Alert("확장 방법입니다");
}
var tagA=document.getElementById ("tagA");
tagA.Alert();
//-->
위 코드는 페이지가 로드될 때 "이것은 확장 방법입니다"라는 팝업이 표시됩니다. 그러나 IE6, 7, 8에서는 오류가 발생하지만 IE9 이상에서는 작동하지 않는다는 것을 눈치채셨을 것입니다. 또는 Chrome, Firefox, Opera와 같은 브라우저에서는 모든 것이 정상적으로 실행됩니다. 이는 호환성 문제이므로 나중에 해결될 것입니다.
위 코드는 유연성이 충분하지 않습니다. 더 유연하게 최적화해 보겠습니다.
DOM 함수 확장 title>
안녕하세요 < script type="text/javascript"> 동적 확장 사용
}
function Alert(){
Alert("확장 방법입니다.");
}
var tagA =document. getElementById("tagA");
tagA.Alert(); html>
위 코드에서 볼 수 있듯이 DOMExtend 메소드를 사용하면 서로 다른 확장을 전달할 수 있습니다. 이름과 fn.
2. HTMLElement에 대한 이야기를 마치고 이벤트 바인딩에 대해 이야기하겠습니다. 많은 사람들이 IE와 다른 브라우저의 이벤트 바인딩 방법이 다르다는 것을 알고 있습니다. 모든 브라우저와 호환되는 이벤트 바인딩을 구현하는 코드는 다음과 같습니다.
코드 복사
코드는 다음과 같습니다.
}
}
다음은 이벤트 바인딩의 예입니다.
코드 복사
코드
안녕하세요 < ;script type="text/javascript">