我在这里简单的脚本

$(".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/

最佳答案

您需要$(this)而不是$(".showHide")来获取事件源元素的子代。

Live Demo

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


单击以隐藏。当在.modal-side内部单击时,可以隐藏mouseup

Live Demo

$(".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();
    }
});

08-19 09:04