2014-12-26 6 views
0

나는 그들 각각의 캔버스에 여러 DIV 요소를 가지고 :버블 링에서 특정 유형의 요소가 발생하는지 어떻게 확인할 수 있습니까?

내가 ID의 모든 것에 사업부에 리스너를 추가하기로 결정했다. 해당 div의 클릭이 div의 dog 클래스를 클릭하는지 여부를 어떻게 확인할 수 있습니까?

나는

document.getElementById('everything').addEventListener('click', function(e) { 
    console.debug(e.target); 
}); 

하지만 console.debug(e.target);은 나에게 클릭 한 캔버스를 제공을 시도했다.

나는 단지 dog div에 이벤트 리스너를 할당 할 수 있었지만 나는 'everything'이라는 ID가 지정된 div 안에 많은 div가있을 수 있기 때문에 그렇게하고 싶지 않습니다.

+0

상대적인'HTML '을 제공 할 수 있습니까?'# dog'은'# everything'의 내부 (하위)입니까, 아니면 부모입니까? –

답변

0

죄송합니다. jQuery입니다.하지만 시도해보십시오.

#everything는 "#everything".dog 여부를하지만

사건의 부모 인 경우가 있는지 확인하기 위해 거의 가능 ".dog"의 부모는,이 작동합니다.

$("#everything").on("click",function(e){ 
    if $(this).closest(".dog").length > 0 
    console.log("element covering both #everything and .dog has clicked") 
    else 
    console.log("#everything has clicked but not .dog") 
}) 

희망 이것은 도움이됩니다.

관련 문제