如何通过单击按钮或除javascript对象之外的任何位置来隐藏对象?

如何通过单击按钮或除javascript对象之外的任何位置来隐藏对象?,javascript,css,Javascript,Css,我制作了一个切换函数,通过单击按钮打开和隐藏一个元素,但我还需要通过单击除自身之外的任何位置来隐藏该元素。我试过这么做,但总有一些东西不起作用 function displayOnClick(clickingObjId, displayObj) { let status = 1; document.getElementById(clickingObjId).onclick = function() { if(status == 1){ do

我制作了一个切换函数,通过单击按钮打开和隐藏一个元素,但我还需要通过单击除自身之外的任何位置来隐藏该元素。我试过这么做,但总有一些东西不起作用

function displayOnClick(clickingObjId, displayObj) {
    let status = 1;
    document.getElementById(clickingObjId).onclick = function() {
        if(status == 1){
            document.getElementById(displayObj).style.display = 'block';
            status = 0;
        } else if (status == 0){
            document.getElementById(displayObj).style.display = 'none';
            status = 1;
        }

        return status 

    };
    document.onclick = function (e) {
        if (status !== 1 && e.target !== displayObj){ 
            document.getElementById(displayObj).style.display = 'none';
            status = 1;
        }
    }
};

问题是,当我添加代码
文档的第二部分时。单击…
,应该打开元素的按钮(单击bjid)将停止工作。

您好,内亚,下面是一些解决问题的示例

切换功能,通过单击按钮打开和隐藏元素,并通过单击除自身以外的任何位置隐藏该元素

$(文档).ready(函数(){
$('#displayObject').hide();
$(文档)。在('单击')上,函数(e){
if($(e.target).closest('#togglerBtn').length){
$(“#显示对象”).toggle();
}else if(!$(e.target).closest('#displayObject').length){
$('#displayObject').hide();
}
});
});
#显示对象{
位置:绝对位置;
顶部:50px;
左:50px;
背景:#000;
颜色:#fff;
填充:30px;
}

扳机
显示对象
Lorem ipsum,或者有时称之为lipsum,是用于布置印刷品、图形或网页设计的虚拟文本。这段文字被认为是15世纪一位不知名的排字工人所写,他将西塞罗的《德菲尼布斯·博诺勒姆和马洛勒姆》中的部分拼凑起来,用在一本字体样本书中。Lorem ipsum,或有时被称为lipsum,是印刷品、图形或网页设计中使用的虚拟文本。这段文字被认为是15世纪一位不知名的排字工人所写,他将西塞罗的《德菲尼布斯·博诺勒姆和马洛勒姆》中的部分拼凑起来,用在一本字体样本书中。Lorem ipsum,或有时被称为lipsum,是印刷品、图形或网页设计中使用的虚拟文本。这段文字被认为是15世纪一位不知名的排字工人的作品,他将西塞罗的《德菲尼布斯·博诺拉姆与马洛拉姆》中的一部分拼凑起来,用在一本字体样本书中


文档中。单击
处理程序,只需检查
e.target.closest(“#clickingObjId”)
是否存在。请参阅。另一种方法是,在单击文档中的任意位置时,检查
是否未悬停clickelement
。您的意思是,不要检查e.target,我应该检查光标是否悬停在该元素上,如果为true,则不执行任何操作,如果为false,则显示:无?如果是这样的话,我真的不知道怎么做,我对编码是新手:c。此外,它应该只在status==1时工作,bc如果不工作,打开此元素的按钮将不工作,bc它在元素外部。你能写下怎么做的语法吗?