2012-04-04 9 views
0

기본적으로 jQuery 아코디언이 있습니다. 아코디언의 테두리 상자 (머리글) 안에 내용이 표시되도록 정렬했습니다. 콘텐츠 내에서 href의 묶인 항목이 여러 개 있습니다. 문제는 분명히 클릭 할 수 있기 때문에 아코디언 머리글을 클릭 할 수 없다는 것입니다.div에서 하위 요소를 클릭 할 수 있습니다.

그것은 다음과 같습니다

--------------------------- 
- (top layer)    - 
-       - 
- ------------------ - 
- - (bottom layer) - - 
- - click me!  - - 
- ------------------ - 
-       - 
--------------------------- 

그래서 난 그냥 바닥 레이어에 클릭 이벤트를 바인딩 할 수 있습니다하지만 난 정말 그렇게 피하기 위해 싶네요. 옵션은 무엇입니까?

+0

아마도 stopPropagation과 같은 일종의 코드를 사용할 수는 있지만 게시 할 코드가 없기 때문에 실제로 말할 수는 없습니다! – adeneo

+0

잘 모르겠지만 다른 요소 뒤에있는 요소를 클릭하려고합니까? 그렇다면 그 이유는 무엇입니까? – adeneo

답변

0

OnClick="preventAction(event)"에 의해 그것을 방지 할 수 있습니다 원래 요청한하지만 함께 살 수있을만큼 간단하고 무엇을하지 http://cmar.me/2011/06/15/links-in-jquery-accordion-headers/

$('content .image a').click(function() { 
    window.location = $(this).attr('href'); 
    return false; 
}); 

에서 촬영.

2

당신은 JS

function preventAction(e) { 
     e.preventDefault(); 
} 
+0

나는 더 분명해야합니다. 최상위 레벨은'href'가 아니고 보통 div 일뿐입니다.'preventDefault()'는 아무런 효과가 없습니다. –

관련 문제