요소/문서에 첨부된 자바스크립트 이벤트 청취자/처리자가 있는지 확인하는 방법?
온라인 검색을 시도했지만 검색 쿼리를 제대로 구성할 수 없는 것 같습니다.
jQuery로 또는 javascript로 요소/문서/창에 첨부되거나 DOM에 있는 모든 핸들러 또는 이벤트 리스너를 나열하려면 어떻게 해야 합니까?
1.8 이전의 jQuery에서는 다음을 사용해 보십시오.$("#element").data("events")
편집:
jQuery 확장자: listHandler도 있습니다.
디버깅할 때 이벤트가 있는지 확인하고 싶다면 Chrome의 Developer Tools의 Visual Event or the Elements(시각적 이벤트 또는 요소) 섹션을 사용하는 것을 추천합니다. 요소를 선택하고 오른쪽 하단의 Event Listener(이벤트 리스너)를 찾습니다.
코드에서 버전 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 맥에서 테스트한
언급URL : https://stackoverflow.com/questions/2382994/how-to-check-if-any-javascript-event-listeners-handlers-attached-to-an-element-d
'bestsource' 카테고리의 다른 글
Objection.js의 추가 조인 조건 (0) | 2023.10.01 |
---|---|
ID별 워드프레스 사용자 프로파일 URL/링크 가져오기 (0) | 2023.10.01 |
openstdin, stdout, stderr 방향 전환을 제어하는 방법? (0) | 2023.10.01 |
C 휘발성 변수와 캐시 메모리 (0) | 2023.10.01 |
C에서 전역 변수는 항상 0으로 초기화됩니까? (0) | 2023.10.01 |