2015-06-11 42 views
1

我簡單的腳本這裏顯示/隱藏腳本顯示僅去年隱藏的div

$(".showHide").click(function (e) { 
    e.stopPropagation(); 
    $(".showHide").children('.showHide').toggle(); 
}); 

$(".modal-inside").click(function (e) { 
    e.stopPropagation(); 
}); 

$(document).bind('keydown', function(e) { 
     if (e.which == 27) { 
      $(".showHide").children('.showHide').hide(); 
     } 
    }); 

它只顯示最後牆根格,但我想讓它顯示唯一的直接孩子。

http://jsfiddle.net/yqaxqq6m/

回答

1

你需要$(this)而不是$(".showHide")獲得事件源元素的兒童。

Live Demo

$(".showHide").click(function (e) { 
    e.stopPropagation(); 
    $(this).children('.showHide').toggle(); 
}); 

編輯隱藏當點擊了側.modal,在裏面可以使用mouseup

$(".showHide").click(function (e) { 
    e.stopPropagation(); 
    $(this).children('.showHide').toggle(); 
}); 

$(".modal-inside").click(function (e) { 
    e.stopPropagation(); 
}); 

$(document).on('mouseup', function(e) { 
    if (e.target.className != "modal-inside") { 
     $(".showHide").children('.showHide').hide(); 
    } 
}); 
+0

我試過相同,但那麼不是通過點擊外部.modal-inside工程隱藏div。 –

+0

檢查我更新的答案。 – Adil

+0

謝謝,但即使我點擊.modal-in內部,也會隱藏我的div。我只需要在外面點擊時隱藏它。 –