2012-03-24 2 views
1

하위 div에있는 태그 하나를 제외하고 div 또는 그 첫 번째 레벨 하위가 클릭되었을 때 상자를 팝업으로 표시하려고합니다.jquery to click 클릭 제외 자식 링크

위대한/멋진 div 표시/숨기기 클래스를 단순히 전환 오전. 그러나, 링크를 클릭하면 상자가 여전히 내가 원하지 않는 팝업. 타겟 및 stoppropagation을 사용하여 보았지만 코드로 작업 할 수 없습니다.

jQuery를 :

jQuery(document).ready(function() { 
    jQuery(".video_odd").toggle(function() 
    { 
    jQuery(this).children(".video_desc_box").attr('class', 'video_desc_box_open'); 
    }, 
    function(){ 
    jQuery(this).children(".video_desc_box_open").attr('class', 'video_desc_box'); 
    }); 
}); 

빠른 HTML 개요 : video_odd가 클릭 할 때 대신 인라인 표시를 변경하는 video_desc_box_open하기 위해 클래스를 전환 할 자식 DIV의 video_desc_box 발생할 수있는 클래스입니다 없음.

video_odd 안에 div가있는 링크를 클릭했을 때이 스크립트를 실행하지 않으려면 토글을 사용하는 방법을 모르겠습니다.

두 번째 레벨 하위 링크가 아닌 다른 자녀가 클릭되면 수업을 변경하고 싶습니다.

도움 주셔서 감사합니다.

편집 :은 내가 더 가까워지고 있어요 생각 :

jQuery(".video_odd").toggle(function(e) 
{ 
if (e.target == jQuery(this).children(".video_list_title")) { return; } 
jQuery(this).children(".video_desc_box").attr('class', 'video_desc_box_open'); 
}, 
function(){ 
jQuery(this).children(".video_desc_box_open").attr('class', 'video_desc_box'); 
}); 

그러나

(e.target == jQuery(this).children(".video_list_title")) 

가 등록되어 있지 않습니다. 어떻게하면 div가 아닌 모든 video_list_title을 제외시킬 수 있습니까?

+0

HTML의 모양은 어떻습니까? –

답변

0

e.target은 jQuery가 아닙니다.

$ (e.target) .hasClass ("video_list_title")는

많이 가까이입니다!

+0

대단히 감사합니다. – joshmmo

+0

jQuery 포럼에서도 궁금한 점이 있습니다. 나는 여기서 자주 확인하지 않는다. 여기에 요점이 필요해! –