이 기사는 예를 들어 JavaScript Event Delegation 기술을 분석합니다. 참조를 위해 공유하십시오. 특정 분석은 다음과 같습니다.
전체 페이지에 많은 버튼이있는 경우 각 버튼의 이벤트 처리기를 바인딩해야합니다. 이것은 성능에 영향을 미칩니다.
우선, 각 함수는 객체이며 객체는 많은 메모리를 차지합니다. 메모리에 객체가 많을수록 성능이 나빠집니다.
둘째, DOM 방문 수가 증가하면 페이지가 늦게로드됩니다. 실제로, 이벤트 핸들러를 잘 활용하는 방법에 대한 좋은 솔루션이 여전히 있습니다.
이벤트 대표단 :
너무 많은 이벤트 핸들러의 문제에 대한 해결책은 이벤트 위임 기술입니다.
이벤트 대의원 기술은 이벤트 버블을 활용합니다. 이벤트 핸들러 만 지정하십시오.
이벤트를 트리거 해야하는 부모 요소의 이벤트 처리기를 바인딩 할 수 있습니다.
<ul id = "mylist"> <li id = "li_1"> sdsdsd </li> <li id = "li_2"> sdsdsd </li> <li id = "li_3"> sdsdsd </li> </ul>
이제 우리는이 3 개의 LI의 이벤트 처리기를 바인딩하고 싶습니다 ...
UL에서 이벤트 핸들러를 바인딩하십시오.
obj.eventhandler ($ ( "mylist"), "click", function (e) {e = e || window.event; switch (e.target.id) {// 모든 사람이 여전히 목표가 이벤트 대상임을 기억해야합니다. 경고 ( "li_2");복잡한 웹 응용 프로그램에서 이러한 종류의 이벤트 대표단은 매우 실용적입니다.
이 방법이 채택되지 않으면 하나씩 바인딩하면 끝없는 이벤트 처리기가됩니다.
이 기사가 모든 사람의 JavaScript 프로그래밍에 도움이되기를 바랍니다.