Jquery .click()函数可处理整个文档,但不能处理一个div

Jquery .click()函数可处理整个文档,但不能处理一个div,jquery,Jquery,我有一个jquery函数,当单击文档上的任意位置时,它会隐藏一个div: $(document).click(function() { if($('#child_link').css("display") == "block"){ $('#child_link').css("display","none"); } }); 我想为一个div“#child_link”添加一个例外。如何执行此操作 我试过: $(document).not('

我有一个jquery函数,当单击文档上的任意位置时,它会隐藏一个div:

    $(document).click(function() {
    if($('#child_link').css("display") == "block"){
       $('#child_link').css("display","none");
      }
    });
我想为一个div“#child_link”添加一个例外。如何执行此操作

我试过:

    $(document).not('#child_link').click(function() {
    if($('#child_link').css("display") == "block"){
       $('#child_link').css("display","none");
      }
    });

但它为整个文档添加了一个异常。

检查目标是否不是子链接

$(document).click(function (e) {
    if ($('#child_link').css("display") == "block" && e.target.id != "child_link") {
        //                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
        $('#child_link').css("display", "none");
    }
});
还请注意,您可以使用.hide()/.is(“:visible”)


试试这样的

$(document).click(function(e) {
    if( e.target.id != 'child_link'){
        if($('#child_link').css("display") == "block"){
            $('#child_link').css("display","none");
        }
    }
});

请尝试
$('*')。不要('child_-link')
而不是
$(文档)。不要('child_-link')
单击检查div id,如果它不是“child_-link”,请将其写入if

$(document).click(function(e) {
    if( e.target.id != 'child_link'){
        if($('#child_link').css("display") == "block"){
            $('#child_link').css("display","none");
        }
    }
});
使用

它将触发除子链接以外的所有内容。
将在隐藏和显示元素之间切换,请尝试以下操作:

希望这有助于解决上述问题

$(document).click(function(e) {
    if( e.target.id != 'child_link'){
        if($('#child_link').css("display") == "block"){
            $('#child_link').css("display","none");
        }
    }
});
$(document).on("click", "*:not('#child_link')", function(){
    $('#child_link').toggle();
});
$('#child_link').click(function(e) { 
  e.stopPropagation();
 })

 $(function(){
  $(document).click(function(){  
  $('#child_link').hide(); 
  });
});