날짜를 클릭 할 때 URL 해시를 #
으로 지우고 텍스트 상자에서 날짜를 변경하지 않는 jQuery UI datepicker가 있습니다.요소에 대한 모든 dom 이벤트보기
어딘가에도 호출되고 오류가 발생하고 jquery 핸들러가 종료되는 일종의 위임 된 이벤트가있는 다른 JavaScript 유틸리티가 있다고 가정합니다.
위임 된 모든 이벤트를 단계별로 확인하거나 볼 수있는 방법은 이 dom 요소과 일치해야합니다.
날짜를 클릭 할 때 URL 해시를 #
으로 지우고 텍스트 상자에서 날짜를 변경하지 않는 jQuery UI datepicker가 있습니다.요소에 대한 모든 dom 이벤트보기
어딘가에도 호출되고 오류가 발생하고 jquery 핸들러가 종료되는 일종의 위임 된 이벤트가있는 다른 JavaScript 유틸리티가 있다고 가정합니다.
위임 된 모든 이벤트를 단계별로 확인하거나 볼 수있는 방법은 이 dom 요소과 일치해야합니다.
크롬의 개발 도구 입니다 :
페이지에서a.vote-up-off
과 document
에 모두 연결되어있는 것을 볼 수 있습니다. 따라서 직접 핸들러와 위임 된 핸들러가 해당 이벤트와 어떤 관계가 있는지 알 수 있습니다 요소.jQuery의 축소되지 않은 버전을 사용하고 datepicker에서 날짜를 클릭하면 이벤트 발송을 진행할 수 있습니다.
그리고 물론, Gabe's shown 문서화되지 않은 jQuery events
데이터를 통해 jQuery 관련 핸들러를 가져 오는 방법. (조상 트리를 걷지 않는 한 당신에게 위임 된 핸들러가 보이지 않을 것이고, 붙어있을 수도있는 non-jQuery 핸들러를 보여주지는 못하지만 여전히 유용한 것들이다.)
당신은 남자들 가운데 신 이십니다, TJ. 항상 감사합니다. –
@AdamRackis : LOL 걱정하지 마세요. –
jQuery를 사용하면 데이터의 events
키를 액세스하여 모든 요소 이벤트를 볼 수 있습니다.
예 :
HTML
<input type="text" id="myelement" />
JS 번째 도움을 줄 수
$(function() {
var myelement = $('#myelement');
myelement.click(function() {
console.log('anonymous event');
});
myelement.click(anotherEvent);
myelement.change(anotherEvent);
var events = myelement.data('events');
console.log('Number of click events:' + events.click.length);
console.log('Number of change events:' + events.change.length);
});
function anotherEvent(){
console.log('another event');
}
위임 된 이벤트도 수신합니까? '$ (document) .on ("click", "a", function() {...});'# myelement'가 앵커라면,이 핸들러를 보여줄 것인가? –
@AdamRackis : 아니요, 그렇지 않습니다. 그것은 직접 호출 된 핸들러만을 보여줄 것이고 핸들러는 트리를 추가로 호출하지 않을 것입니다. http://jsbin.com/ujipuz 물론 엘리먼트의 조상을 걸을 수는 없습니다. 그 (것)들을위한 과정, 당신에게 전체 그림을 줄 것입니다.+1 ~ Gabe –
내가 오해했다. 디버깅 도구가 아닌 프로그래밍 방식의 해결책을 찾고 있다고 생각했다. :) – Gabe
Chrome의 개발 도구를 열고 스크립트 탭으로 이동하여 datepicker 코드에 중단 점을 넣은 다음 JS 코드를 실행하여 무엇이 실행되는지 확인합니다. – sachleen