2012-12-20 1 views
2

Internet Explorer에서 addEventListener를 추가 할 때 true 또는 false이 무엇을하는지 이해하려고합니다. Microsoft에 따르면 그것은 useCapture입니다.object.addEventListener의 useCapture 매개 변수의 용도는 무엇입니까?

element.addEventListener('click', function_name, true); 

아무 것도 변경되지 않는 것처럼 보이지만 수신기는 계속 작동합니다. 누구든지 useCapture 매개 변수의 목적을 설명 할 수 있습니까?

답변

10

그것은 옵션 useCapture에 대한 이벤트 처리기를 추가하는 이벤트 단계를 지정하는 매개 변수입니다 :

이벤트는 두 단계로 처리됩니다 캡처 및 버블 링. 캡처 단계에서 개체 의 하위 이벤트 대상에 이 전달되기 전에 부모 개체에 이벤트가 전달됩니다. 버블 링 단계에서 이벤트는 먼저 요소를 대상으로, 다음으로 부모 요소로 전달됩니다. 이벤트 단계에 대해 이벤트 핸들러를 등록 할 수 있습니다.

사실

는 캡처 단계의 이벤트 핸들러를 등록합니다.

거짓 버블 링 단계에 대한 이벤트 처리기를 등록하십시오.

당신은 여기의 EventPhase 문서를 읽을 수 있습니다 http://msdn.microsoft.com/en-gb/library/ie/ff974944(v=vs.85).aspx

편집 :

버블 링 및 명확한 예제와 함께 캡처에 의해 정의 된 이벤트 순서를 설명합니다 다음을 읽어 보시기 바랍니다. http://www.quirksmode.org/js/events_order.html

+1

안녕하세요, 회신 해 주셔서 감사합니다.하지만 실제로는 전혀 도움이되지 않습니다. 나는 그것이 무엇을 의미하는지 모른다. 맞춰봐. 나는 상관하지 않고 진정한 것을 사용하는 것이 일하는 것처럼 보인다. 답장을 보내 주셔서 감사합니다. – Wayneuser1168636

+2

무슨 뜻인지 잘 모르겠습니다. 'useCapture'를 true로 설정하면 이벤트는 캡처 단계를 사용하고 false (기본값)이면 버블 링 단계를 사용합니다. 이것이 의미하는 바는 내가 제공 한 링크에 명확하게 정의되어 있습니다 ... 어쨌든 더 명확하게 설명하는 또 다른 링크를 추가했습니다. 기본적으로 이벤트가 실행되는 실행 순서입니다. – Fraser

+0

@ Wayneuser1168636이 답장의 예를 보면 이해하는데 도움이되었습니다. http://stackoverflow.com/questions/7398290/unable-to-understand-usecapture-attribute-in-addeventlistener#answer-7398447 – gal007

관련 문제