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

在DIV元素外部(而不是内部)单击时如何关闭/隐藏DIV元素

田慈
2023-03-14
问题内容

<div>在页面上存在一个,我需要进行设置,以便当用户在该元素之外单击时它将被隐藏,但是如果用户在该元素内的某个位置单击,则它应该保留。

我尝试使用
e.stopPropagation();

e.preventDefault();

将其添加到该特定DIV的click事件中,但这没有用。

谢谢!


问题答案:

在弹出式鼠标悬停时切换 标志

var $pop   = $('#popup'),
    notHov = 1; // Hover flag

$pop.hover(function(){ notHov^=1; }); // Toggle flag on hover

$(document).on('mouseup keyup', function( e ){
  if(notHov||e.which==27) $pop.fadeOut();
});

注:
如果页面上的某个地方,你有一个元素 阻止mouseup event冒泡DOM树达document(以注册),您可能希望
创建一个全屏幕 (就像一个页面叠加) 弹出包装
注册点击事件,在代码改变只是选择以上:而不是$(document)$('#popupWrapper')



 类似资料:
  • 问题内容: 我想通过单击其中的关闭链接 或 单击该div外部的任何位置来隐藏div。 我正在尝试下面的代码,它可以通过单击正确的关闭链接来打开和关闭div,但是如果我在单击div以外的任何位置来关闭它时遇到问题。 问题答案: 另一种使您的jsfiddle减少错误的方法(需要双击打开)。 这不会在主体级别使用任何委托事件 设置为DIV .popup(以及样式CSS )

  • 问题内容: 这是该问题的后续问题:具有焦点的AngularJS输入会杀死list的ng-repeat过滤器 基本上,我的代码是使用AngularJS在右侧弹出一个div(抽屉)以过滤事物列表。大多数情况下使用此功能时,UI会被阻止,因此单击该阻止div会关闭抽屉。但是在某些情况下,我们不会阻止用户界面,需要允许用户在抽屉外部单击以取消搜索或选择页面上的其他内容。 我最初的想法是在抽屉打开时附加一个

  • 问题内容: 我正在使用此代码: 和这个 HTML : 问题是我的链接位于内,单击时它们不再起作用。 问题答案: 遇到同样的问题,想出了这个简单的解决方案。它甚至可以递归工作:

  • 我正在制作一个python脚本,给出Scratch.mit.edu网站上的前5个特色项目。我正在使用请求获取数据。具有这些项目标题的元素位于div标记中,但当我使用bs4时,它不显示div标记的子项或后代。我怎么看标签里面? 我已经尝试了find_all()、find()、.descendents和.children。 我需要 的输出 匿名用户 API 使用页面用来更新内容和解析json响应的ap

  • im 尝试单击此 div 元素,但引发异常。我的代码是: selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法定位元素:{"method":"xpath","selector":"//*[@id='ext-gen1147']"}(会话信息: chrome=80.0.3987.163)

  • 问题内容: 我有一个具有,沿。在此之下,我还有更多元素。 目前,当我在叠加层外部单击时,我可以单击基础元素。但是,当直接在叠加层上单击时,我无法单击基础元素。 我希望能够单击此按钮,以便可以单击基础元素。 问题答案: 是的,你CAN做到这一点。 使用与IE11 CSS条件语句一起(在IE10或低于不工作),就可以得到这个问题的跨浏览器兼容的解决方案。 使用,您甚至可以将透明放置在叠加层中,并使点击