javascript - 如何让这个区域显示: none?

标签 javascript jquery html css

我正在制作一个网络应用程序。先看这张图:

enter image description here

现在,您可以看到黄线勾勒出的区域。白色背景的列表是动态的(在搜索栏中输入内容时显示)。现在我想要的是当我点击该区域外的任何地方(搜索输入字段+列表)时,列表应该是display: none。我已经尝试了一些东西,但为此我不得不编写大量代码,因为我分别为不同的 div 做了这个。

另外,我不想在这里粘贴整个代码,因为它太长了。所以我只是向您提供 HTML 以了解这张图片。

<header>
    <div id="headerdiv">
        <div class="headerlogo"><a href="/passwords/home.php"><img src="#" alt="Passwords"></a></div>
        <div class="quit"><img src="#" alt="Quit"></div>
    </div>
</header>
<div id="functions">
    <div id="funcLeft">
        <div id="addbuttonwrap"><input class="addbutton" type="button" value="  +              ADD"></div>
        <div class="heading1">Your saved passwords</div>
        <input class="funcbutton" type="button" value="EMAIL">
        <input class="funcbutton" type="button" value="CAREER">
        <input class="funcbutton" type="button" value="SOCIAL">
        <input class="funcbutton" type="button" value="OTHER">
    </div>
    <div id="funcRight">
        <div id="search">
            <form name="searchform" method="post" action="">
                <input type="text" name="searchinput" placeholder="Enter any keyword">
            </form>
        </div>
        <div class="heading1 heading2">GUIDELINES</div>
        <div class="slides">
            <!--CONTENT-->
        </div>
    </div>
</div>
<footer>
    <div id="footer">
        Copyright: Protected
    </div>
</footer>

注意:在编写答案时,您可以假设任何元素的任何标记名称/类/ID 等,因为代码是不够的。我只想知道该怎么做。

最佳答案

您想在有人点击时隐藏搜索,您可以使用带有 onclick 事件的 Javascript 来实现。

var elementToHide = document.getElementById("searchElement");
window.onclick = function(e){
    if(e.target != elementToHide){
        elementToHide.style.display = "none";
    }
}

当用户点击一个不是的元素时,这将隐藏 elementToHide 中包含的元素(可以是 DOM 中的任何元素)。

变量 e 包含我们在 if 中检查目标元素的点击事件

希望对你有帮助

关于javascript - 如何让这个区域显示: none?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38450792/

相关文章:

javascript - jQuery 选择插件 - 第一个选项不会触发更改事件?

javascript - 使用 php 或 javascript 通过按钮 onclick

javascript - 将所见即所得文本编辑器 jquery 插件与 webpack 捆绑在一起

Javascript/Jquery : How to set focus at id inside contenteditable

javascript - 无法导入html中的js文件

html - 如何创建固定在左上角的菜单?

html - foundation5/css - 禁用/重置 css 属性

html - 将 HTML 元素添加到 WordPress 子主题

javascript - 我需要在旧版本的 IE 中为 document.createElementNS() 兼容的 JavaScript 代码

javascript - 防止使用 select2 加载数据,直到满足 minlength