2013-05-12 1 views
0

은 다음과 바이올린을 고려 아이들 만에 해고 : Fiddle부모 mousenter는

어떻게 얻을 수없는 자식에서 부모 div (클래스 outer)에서 해고 이벤트?

+0

게시 여기에 코드를 대신 또 다른 사이트 : http://jsfiddle.net/tRP2k/3/

은 자세한 내용은 & 예를이 읽기. 22 개월 후, 30 개의 질문과 5 개의 답변을 통해 나는이 사실을 알고 있다고 생각합니다. –

+0

IE가 아닌 브라우저에서는 * 실제로 아이들이 이벤트를 실행할 수 없습니다. jQuery는 이벤트가 발생하더라도 핸들러가 가장 바깥 쪽 요소에서만 호출되도록 수정을 제공합니다. 데모와 관련된 문제는 바깥 쪽과 안쪽 사이에 여백/여백이 없으므로 'e.target'이 안쪽이됩니다. 이 상황에서 jQuery가 'e.target'을 수정하지 않는 이유를 모르겠습니다. 버그 같아. –

답변

0

이 올바른 동작입니다 : 내부 div (했다, 당신은 부모 div에서 이벤트를 잡았지만, 이벤트의 실제 송신자는, 그게 트리거 한 요소 부모 내부 & 사이의 공간이 없기 때문에 아마도 그건 @ 스퀸 트와 같은 divs). 그것이 e.target입니다. this 이벤트 핸들러 컨텍스트의 속성은 항상 이벤트를 처리하는 요소를 가져옵니다.

$('.outer').on('mouseenter',function(e){alert($(this).attr('class'));}); 

JSFIddle : http://api.jquery.com/event.target/

관련 문제