javascript - 在外部单击时隐藏元素

标签 javascript jquery css

我已经搜索了所有问过这个问题的其他人的当前答案,但在尝试了大量示例代码后,没有任何东西对我有用,所以我认为是时候分解并提问了。如果这是重复问题,请原谅我,但由于我在其他变体上没有成功,所以我认为没问题。

我正在使用 Jquery 在我的数据库中调出一个包含列表项的 DIV。当我点击它的外部时,我希望那个 DIV 消失。这是我使用的代码。

 <script type="text/javascript" src="https://ajax.googleapis.com    /ajax/libs/jquery/1.11.3/jquery.min.js"></script>
        <script type="text/javascript"> 
        function searchq(){
            var searchTxt = $("input[name='search']").val();
            $.post("live_search.php", {searchVal: searchTxt},     function(output) {
                $("#output").html(output);      
            });
        }
        </script>
        <script type="text/javascript"> 
        $("#auto").autocomplete({
    source: function(request, response) {
        var results = $.ui.autocomplete.filter(myarray, request.term);

        response(results.slice(0, 10));
    }
});
        </script> 
        ///////////
        MY ATTEMPT TO HIDE THE DIV
       <script type="text/javascript">
      $(document).click(function(e) { 
      if(!$(e.target).closest('#output').length){
      $("#output").hide();  
      }
      });


    </script>

我用来显示数据的 DIV 名为输出,如代码中所示。关于在输出 DIV 外部单击时如何使输出 DIV 消失的任何想法?

亲切的问候 酸 jack

最佳答案

您可以执行以下操作:

$(document).click(function(e) { 
   if(!$(e.target).closest('#output').length){
      $("#output").hide();  
   }
});

Fiddle

关于javascript - 在外部单击时隐藏元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30312610/

相关文章:

javascript - 有没有更干净的方法来获取 Promise 的错误和结果

javascript - ThreeJS OBJMTLLoader 在纹理可用之前渲染对象

jquery - 通过 ID 属性获取 TABLE outerHTML JQUERY

javascript - 使用 Javascript 从 iframe 路径名中获取 id 的值

HTML 文本覆盖图像

javascript - 在nodejs中看不到对象的属性

javascript - heroku 没有构建我的 webpack 应用程序

jquery - 如何在 Laravel 5.7 中使用 CSS 平滑侧边栏

html - 芯片关闭按钮不会遵守 css

css - 关于 robot-or-not.com 代码的几个 CSS 问题