2012-06-20 2 views
2

클릭하면 스크립트를 트리거하는 표 셀 (td)이 있습니다. 나는 클릭 할 때 다른 div를 트리거하는 해당 테이블 셀 내에 div가 있습니다. 이벤트 버블 링을 취소하기 위해 아래 코드를 성공적으로 사용했습니다 (div 이벤트가 td 이벤트를 트리거하지 않음).Firefox에서 이벤트 버블 링을 취소하려면 어떻게해야합니까?

if (!e) var e = window.event; 

e.cancelBubble = true; 
e.stopImmediatePropagation(); 
e.returnValue = false; 

if (e.stopPropagation) 
{ 
    e.stopImmediatePropagation(); 
    e.stopPropagation(); 
    e.preventDefault(); 
} 

Chrome, Safari 및 Opera에서는 모든 기능이 작동합니다. Firefox에서 이벤트 버블 링을 방지하지 않는 이유는 무엇입니까? 내가 알고 있어야 할 일종의 Firefox 픽스가 있습니까?

+0

문제가있는 페이지로 연결할 수 있습니까? –

답변

1

내가 event.stopImmediatePropagation() 비효율적 후 event.stopPropagation() 통화를 따라서 호출 할 같은 이벤트에서 다른 청취자를 중지 생각합니다. 방금 event.stopPropagation()을 사용해보세요.

0

나는이 코드 조각이 충분해야한다 생각 :

e = e || window.event; 

if (e.stopPropagation) { 
    e.stopPropagation(); 
} 

// other piece of code here