通过单击外部关闭 div

2023-12-10

我想通过单击其中的关闭链接来隐藏 div,or单击该 div 之外的任意位置。

我正在尝试执行以下代码,它会通过正确单击关闭链接来打开和关闭 div,但如果我无法通过单击 div 外部的任何位置来关闭它。

$(".link").click(function() {
  $(".popup").fadeIn(300);
}

);
$('.close').click(function() {
  $(".popup").fadeOut(300);
}

);
$('body').click(function() {
  if (!$(this.target).is('.popup')) {
    $(".popup").hide();
  }
}

);
<div class="box">
  <a href="#" class="link">Open</a>
  <div class="popup">
    Hello world
    <a class="close" href="#">Close</a>
  </div>
</div>

Demo: http://jsfiddle.net/LxauG/


另一种方法可以使你的 jsfiddle 更少的错误(需要双击打开)。

这不使用任何委托事件到主体级别

Set tabindex="-1"到 DIV .popup (以及样式 CSSoutline:0 )

DEMO

$(".link").click(function(e){
    e.preventDefault();
    $(".popup").fadeIn(300,function(){$(this).focus();});
});

$('.close').click(function() {
   $(".popup").fadeOut(300);
});
$(".popup").on('blur',function(){
    $(this).fadeOut(300);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过单击外部关闭 div 的相关文章

随机推荐

  • 在 HTML5 中将表格行包装在元素(超链接)中

    我试图将表格行包装在 a 元素 超链接 中 以使整行可单击 我正在使用 HTML5 文档类型 它应该允许这种事情 事实上我在链接中包装其他块级元素没有问题 事实上 将 a 元素包裹在整个表格周围似乎是可行的 标记如下 table tbody
  • 是否可以在不使用脚本的情况下确定远程 FTP 服务器上的可用空间量?

    所以 这是我必须使用的设置 我在不同位置总共有五台服务器 一台服务器纯粹是一个用于托管静态文件的 Web 服务器 其他四台服务器只是 FTP 服务器 每台服务器都包含用户通过 PHP 脚本上传的文件 我想要做的是能够选择可用空间最多的服务器
  • 为什么 Gridview 页脚要添加额外的列?

    不敢相信我必须问这个 你会认为这样的基本功能很容易实现 但我在为 Gridview 创建页脚时遇到了麻烦 我检查了各种教程和其他问题 例如here and here and here 但我仍然遇到困难 问题在于正确显示页脚 即不添加额外的空
  • Cassandra Csharp 驱动程序中的准备语句缓存问题

    我相信我发现了一个关于如何在 Cassandra csharp 驱动程序 版本 2 7 3 的 StatementFactory 中缓存准备好的语句的逻辑的错误 这是用例 Guid key Guid NewGuid your key ISe
  • 使用 java/javascript 和 apache POI 导出 .xls 文件时文件损坏

    我正在尝试从 Web 应用程序在浏览器中下载 xls 文件 下面是相同的代码 try FileInputStream inputStream new FileInputStream C Users Desktop Book1 xls res
  • 使用 psycopg2 和 Lambda 更新 Redshift (Python)

    我正在尝试使用 python 从 Lambda 函数更新 Redshift 为此 我尝试组合 2 个代码片段 当我单独运行它们时 这两个片段都可以正常工作 从 PyDev for Eclipse 更新 Redshift import psy
  • Django 1.6:名称“sitemaps”未定义

    我正在尝试在 django 应用程序中实现站点地图 但出现以下错误 我正在使用 django 站点地图框架 我不知道我做错了什么 Traceback File mysite urls py in
  • 生成具有动态可变时间间隔的事件

    我有一个以很快的速度 亚毫秒 到达的数值流 我想在屏幕上显示它们的 即时值 出于可用性原因 我应该对该流进行下采样 使用可配置时间间隔 该配置将根据用户偏好通过拖动滑块来完成 所以我想做的是将源流的最后一个值存储在变量中 并有一个自动重新触
  • 正则表达式查找所有匹配项[重复]

    这个问题在这里已经有答案了 我需要一个正则表达式来查找我的模式的所有匹配项 文字是这样的 someother text style delete company code 43ev4 between text style delete or
  • Firebase 数据库规则不起作用

    我在用Firebase 实时数据库对于我的网络应用程序 我在数据库中有一个名为Users看起来像这样 Users userID Name Post Type AutoRefresh Uploads upload1 upload2 News
  • django.core.exceptions.ImproperlyConfigured:不支持 Django 3.0.1

    在我在计算机上创建另一个 Django 项目之前 这个 Django 项目正在运行 但是今天当我运行该项目时 它显示这样的错误消息 gt Traceback most recent call last File manage py line
  • 管理 vba 函数中的典型 Excel 公式错误

    我正在写一些vba函数 特别是 我正在重写 VLOOKUP 在此 MY VLOOKUP 中 我有两个布尔变量 1 error range 如果公式参数中传递的范围无效则为真 2 not ava 没有结果则为true VLOOKUP结果为 N
  • 标签中的上标文本

    是否可以在 Xamarin Forms 中为标签添加上标 在 HTML 中我会使用
  • Java、谷歌集合库; AbstractIterator 的问题?

    我正在使用 Google Collections 库抽象迭代器实现一个生成器 我在做的过程中遇到了一个问题 我已将其简化为更基本的类型并重现了该问题 对于通过 Iterable 从 1 计数到 numelements 的作用来说 这种减少显
  • 如何在我的网站上添加 Google 地图?

    我有一个表单 我想添加一个 选择位置 选项 我该如何做到这一点 以及如何将图钉放置为所选位置 您可能需要考虑使用谷歌地图 API as 戴维克已经建议了 以下示例可能会帮助您入门 您需要做的就是更改 JavaScript 变量userLoc
  • 根据部分文件名批量创建文件夹并将文件移动到该文件夹​​中

    我的一个文件夹中有 160 万 个 PDF 文件 这些文件的命名都类似于 LAST FIRST 7 24 1936 Diagnostic Topography 11 18 10 1 pdf LAST FIRST 7 24 1936 Glas
  • 批处理:添加 unicode 标头或如何添加十六进制值或任何其他方法解决此问题?

    我有一个批处理脚本 它使用拖放操作并根据拖放的文件 文件夹的文件名创建一些 html 代码 和 chcp 65001 我用这个来写unicode 一切都很好 至少在记事本编辑器中是这样 而浏览器只显示垃圾 当我在记事本中重新保存文件时 该文
  • 使用 Pandas 来 pd.read_excel() 读取同一工作簿的多个工作表

    我有一个很大的电子表格文件 xlsx 我正在使用 python pandas 处理它 碰巧我需要来自该大文件中两个选项卡 工作表 的数据 其中一个选项卡包含大量数据 另一个选项卡只有几个方形单元格 当我使用pd read excel on
  • 将 ssh -V 保存到变量

    我正在尝试自动测试从 72 个远程服务器返回到中央服务器的无密码 ssh 我有中央服务器无密码 ssh 可以连接到 72 台服务器 但需要它从它们返回到中央服务器 72 台服务器有两个 ssh 版本之一 OpenSSH 4 3p2 Open
  • 通过单击外部关闭 div

    我想通过单击其中的关闭链接来隐藏 div or单击该 div 之外的任意位置 我正在尝试执行以下代码 它会通过正确单击关闭链接来打开和关闭 div 但如果我无法通过单击 div 外部的任何位置来关闭它 link click function