当前位置: 首页 > 面试题库 >

通过单击外部关闭div

罗宪
2023-03-14
问题内容

我想通过单击其中的关闭链接 单击该div外部的任何位置来隐藏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>

问题答案:

另一种使您的jsfiddle减少错误的方法(需要双击打开)。

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

设置tabindex="-1"为DIV .popup(以及样式CSS outline:0

$(".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);
});


 类似资料:
  • 本文向大家介绍如何通过单击iOS中的警报外部来关闭警报?,包括了如何通过单击iOS中的警报外部来关闭警报?的使用技巧和注意事项,需要的朋友参考一下 理解和实现UIAlert可能会很棘手,特别是如果您不熟悉iOS开发,在这篇文章中,我们将看到当用户在警报框外点击时如何解除警报。 对于此演示,我们将使用UIAlert类,以使用要显示的消息以及可供选择的操作来配置警报和操作表。用所需的动作和样式配置警报

  • 问题内容: 当用户单击下拉菜单之外的任何地方时,我想关闭我的登录菜单下拉菜单,我想使用Angular2和Angular2“方法”来完成此操作… 我已经实现了一个解决方案,但是我对此确实没有信心。我认为必须有一种最简单的方法来达到相同的结果,因此,如果您有任何想法…让我们讨论一下:)! 这是我的实现: 下拉组件: 这是我的下拉菜单的组成部分: 每次将此组件设置为可见时,(例如:当用户单击按钮以显示它

  • 问题内容: 我有一个jQuery UI对话框,当单击特定元素时会显示该对话框。如果在那些触发元素或对话框本身之外的任何地方都单击了鼠标,我想关闭对话框。 这是打开对话框的代码: 如果我取消最后一部分的注释,该对话框将永远不会打开。我认为这是因为打开对话框的同一点击再次将其关闭。 最后的工作代码 注意:这是使用 jQuery外部事件插件 问题答案: 查看jQuery Outside Events插件

  • 问题内容: 我正在使用精美的框创建弹出窗口,并使用iframe在其上加载另一个页面。这是我的代码 它成功加载页面并执行相应的操作。但是,它没有关闭弹出窗体,而是在弹出窗口本身内部加载了弹出源窗体。我想在工作完成后关闭弹出窗口,然后返回到从其生成弹出窗口的主菜单页面。如何在弹出窗口的按钮单击上实现此目的。 此致Rangana 问题答案: 拨电至 根据http://fancybox.net/faq 如

  • 我正在尝试创建一个 Angular 4 自定义表单控件作为我的日期选择器。我正在使用ngx-bootstrap,到目前为止,我已经使用ngx-bootstrap的输入,日期选择器和弹出框组件设置了这个自定义表单控件。自定义控件打开一个焦点为日期选取器的弹出窗口,但是,我需要能够通过与弹出框内容交互来更改日期,并且在我不与弹出框或输入交互时它应该关闭。我试图跟踪ngx-bootstrap githu

  • 我的通知包含几个按钮: 1个按钮启动主活动(执行此操作时应关闭状态栏) 其中4人发送待定意图以控制音乐(应保持状态栏打开) 问题是,第一个按钮没有关闭状态栏。。。 第一个按钮发送的Pending帐篷: 活动已正确启动,但状态栏仍在那里,不会自行关闭<我是不是错过了一面旗帜?我可以通过MyActivity程序关闭状态栏吗。onResume() 编辑:顺便说一下,通知是由服务推送的 感谢=)