隐藏带有坐标的弹出窗口

发布于 2024-09-07 08:33:58 字数 384 浏览 7 评论 0原文

我的问题:例如:我有一个链接,当我点击它时会显示一个弹出div,当我再次点击该链接然后关闭弹出窗口时,没关系,但我该怎么办当我单击弹出窗口之外的任何其他位置时关闭打开的弹出框

我搜索了很多,找到了一些解决方案,但这些对我来说还不够好,因为我知道有一种方法可以通过偏移X偏移Y来隐藏框,据我了解,以这种方式工作,javascript 跟踪弹出窗口的位置,如果用户单击其他位置,它就会关闭或什么。

请有人告诉我如何才能我用这个方法可以吗?这对我来说真的很重要!!

如果您有不明白的地方,或者您有任何疑问,请写在这里,我会尽力解释得更好!

My problem: For example: I have a link, when I click on it a popup div is shown, and when I click on the link again then closes the popup, that's ok, but how can I do to close the opened popup box when I click anywhere else outside of the popup.

I've searched a lot and I found some solutions, but those weren't enough good to me, as I know there is a way to hide the box by offset X, and offset Y, as I understood works in this way, the javascript tracks the position of the popup and if the users clicks on an other position it closes or what..

Please could someone tell me how can I do it this way? It's really important for me!!

Please if you don't understand something, or do you have any questions write here and I will try to explain it better!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

行至春深 2024-09-14 08:33:58

西尔克波奇? :)

您需要文档或正文的 onclick 处理程序。

查看实际效果。

// make sure that click on the popup does nothing
document.getElementById("pop").onclick = function(e) {
  // in all browsers
  if(e && e.stopPropagation) {
    e.stopPropagation();
  } else {
    e = window.event;
    e.cancelBubble = true;
  }
};

// click anywhere else
document.documentElement.onclick = function() {
  // will hide the popup
  document.getElementById("pop").style.display = "none";
};

Csirkepöcsű? :)

You need an onclick handler for the document, or the body.

​See it in action.

// make sure that click on the popup does nothing
document.getElementById("pop").onclick = function(e) {
  // in all browsers
  if(e && e.stopPropagation) {
    e.stopPropagation();
  } else {
    e = window.event;
    e.cancelBubble = true;
  }
};

// click anywhere else
document.documentElement.onclick = function() {
  // will hide the popup
  document.getElementById("pop").style.display = "none";
};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文