当前位置: 首页 > 知识库问答 >
问题:

在焦点上显示div,但单击页面上的任何位置时关闭

闻人修平
2023-03-14

我有一个div显示在我的搜索框下面。虽然我不能点击div中出现在焦点上的链接--因为搜索表单不再是“焦点”。

我希望当我在输入框中键入时显示div并使链接可点击,但当我点击其他任何地方时隐藏div。

null

$("#searchInput").focusin(function() {
        $("#searchResults").show();
    }).focusout(function () {
        $("#searchResults").hide();
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<form class="d-flex" action="/search">
  <input id="searchInput" class="form-control me-2 border-0 search-box" type="text" name="q" placeholder="Search" autocomplete="off">
</form>
<div class="result_box">
  <ul class="list-group" id="searchResults">
  <a href="google.com" target="_blank">Test Search Result</a>
  </ul>
</div>

null

实现此功能的最佳方法是什么?

共有1个答案

司徒云
2023-03-14

也许不是完美的解决方案,但它起作用了。

null

$("#searchInput").focusin(function() {
        $("#searchResults").show();
    });

$(document).on('click', function(event)
{
    let target = event.target;
    if(!$(target).hasClass("link") && !$(target).hasClass("search-box"))
         $("#searchResults").hide();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<form class="d-flex" action="/search">
  <input id="searchInput" class="form-control me-2 border-0 search-box" type="text" name="q" placeholder="Search" autocomplete="off">
</form>
<div class="result_box">
  <ul class="list-group" id="searchResults">
  <a class = "link" href="google.com" target="_blank">Test Search Result</a>
  </ul>
</div>
 类似资料:
  • 问题内容: 当我单击页面上除div()以外的任何位置时,如何触发功能? 问题答案: 你可以申请对文件和取消处理,如果是由ID为DIV生成的事件,这将绑定事件到单个元素和节约的结合与除每一个元素

  • 问题内容: 这是很常见的事情,例如,如果您在此处单击stackoverflow上的收件箱。我会打电话给那个对话框或任何被打开的 东西 。 现在我知道有两种方法可以解决这个问题, 你创建一个无形的覆盖,但只有用户打开该元素具有更大的zIndex以及您关闭 的事情 上叠加通过点击 点击文档事件,而你检查在点击你是否点击你的事还是境外,在这种情况下,你闭上你 的事 。 无论哪种情况,我都希望使用添加/删

  • 我是r-plotly的新手,我正在试图弄清楚如何处理不在数据上的点击。似乎使用我可以从数据中获取点上的事件,但到目前为止,我还没有弄清楚如何对不接近数据但仅在绘图白色部分的单击执行此操作。 来自绘图的闪亮点击事件可以做到这一点,我只需要得到点击的x和y。我想要类似的,但情节要详细。 我是否可以将单击事件指定为来自plotly plot上的任意位置,而不仅仅是数据? 编辑:令人惊讶的是,这在plot

  • 我从这里摘取了一些代码,允许通过单击行上的任何位置来选择JTree行。它在单行选择模式下工作良好。但是,我不确定如何修改它,以便处理多行选择。当用户进行多个选择(例如,在鼠标左键单击一行的同时按住shift或control按钮)时,我如何区分这种情况?

  • 本文向大家介绍基于JavaScript实现点击页面任何位置返回,包括了基于JavaScript实现点击页面任何位置返回的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接上关键代码了。 以上所述是小编给大家介绍的基于JavaScript实现点击页面任何位置返回的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!

  • 问题内容: 我让我的游戏在没有鼠标的情况下运行,因此不能使用指针。当玩家输球时将显示高分菜单。 这是我的代码 我努力了 但仍然没有专注于我的。 如何聚焦呢? 问题答案: 如果希望在GUI显示时集中精力,可以使用以下方法: 哪里会是你和你的。