요소 / 문서에 연결된 JavaScript 이벤트 리스너 / 핸들러가 있는지 확인하는 방법은 무엇입니까?
이 질문에 이미 답변이 있습니다.
온라인 검색을 시도했지만 검색 쿼리를 제대로 작성할 수없는 것 같습니다.
간단하게 들리 겠지만, jquery를 사용하거나 자바 스크립트를 사용하여 요소 / 문서 / 창에 첨부되거나 dom에있는 모든 핸들러 또는 이벤트 리스너를 어떻게 나열 할 수 있습니까?
그냥 궁금해.
미리 감사드립니다.
1.8 이전의 jQuery에서는 다음을 사용해보십시오. $("#element").data("events")
편집하다:
jQuery 확장도 있습니다 : listHandlers
디버깅 할 때 이벤트가 있는지 확인하려면 Chrome 개발자 도구의 Visual Event 또는 Elements 섹션을 사용하는 것이 좋습니다 . 요소를 선택하고 오른쪽 하단에서 "Event Listeners"를 찾습니다 .
코드에서 버전 1.8 이전의 jQuery를 사용하는 경우 다음을 사용할 수 있습니다.
$(selector).data("events")
이벤트를 얻으려면. 버전 1.8부터이 기능은 중단되었습니다 ( 이 버그 티켓 참조 ). 당신이 사용할 수있는:
$._data(element, "events")
그러나 이것은 내부 jQuery 구조이기 때문에 권장되지 않으며 향후 릴리스에서 변경 될 수 있습니다.
이 질문 에는 유용한 답변이 있지만 그중 어느 것도 그와 같은 방식으로 특히 우아하지 않습니다 $(selector).data("events")
.
jQuery없이 :
elem.addEventListener () 메서드를 사용하여 리스너를 추가 한 경우 이러한 리스너를 나열하는 것은 쉽지 않습니다. EventTarget.addEventListener () 메서드를 직접 래핑하여 재정의 할 수 있습니다. 그런 다음 정보, 등록 된 리스너가 있습니다.
var f = EventTarget.prototype.addEventListener; // store original
EventTarget.prototype.addEventListener = function(type, fn, capture) {
this.f = f;
this.f(type, fn, capture); // call original method
alert('Added Event Listener: on' + type);
}
작업 예제는 http://jsfiddle.net/tomas1000r/RDW7F/ 에서 찾을 수 있습니다.
방금 시각 이벤트 2를 발견했습니다.
http://www.sprymedia.co.uk/article/Visual+Event+2
"make it go 섹션"으로 이동하여 텍스트 링크를 책갈피 도구 모음으로 끌어 이벤트가있는 페이지로 이동하고 책갈피를 클릭하십시오.
FF Mac에서 테스트
'programing' 카테고리의 다른 글
원격 호스트가 연결을 종료했습니다. (0) | 2020.10.17 |
---|---|
git EOL 변환 비활성화 (0) | 2020.10.17 |
이 복합 양식을 사용할 때 XOR로 값을 바꾸는 데 실패하는 이유는 무엇입니까? (0) | 2020.10.17 |
C #에서 System.Type과 System.RuntimeType의 차이점은 무엇입니까? (0) | 2020.10.17 |
Java 7에서 Java 8보다 StringBuilder # append (int)가 더 빠른 이유는 무엇입니까? (0) | 2020.10.17 |