javascript - 为什么这个弹出窗口会无缘无故地向 DOM 树添加多个覆盖 <div> ?

标签 javascript jquery popup.js

我正在使用popup.js在弹出窗口中显示内容。但是,如果我执行基本示例,这就是我得到的:

enter image description here

您在这里看到的是包含一些无趣内容的弹出窗口,但您也可以看到 <div class="popup_cont" ..>已多次添加到 DOM 树中。结果是我必须点击(这里)7次才能摆脱弹出窗口。每次点击都会删除其中一个覆盖层..

我不知道为什么会发生这种情况。这就是我嵌入弹出窗口的方式:

<div id="btn-help" class="toy-button">
  <span lang="en">
    <a href="#inline" class="default_popup ignore_hash">HELP</a>
  </span>
</div>

这就是它的调用方式:

/**
 * Callback to display help window.
 * @private
 * @memberOf module:cpu-controlls_controller
 */
_onHelpButtonClicked = function() {     

    debug('cpu-controlls.controller _onHelpButtonClicked()');
    var options = { content : "hallo.html" };
    $('.default_popup').popup(options);
};

其中 hallo.html 只是一个包含大量“Hello World!”消息的 .html 文件。

知道如何解决这个问题吗?

最佳答案

似乎每次用户单击按钮时都会初始化弹出窗口插件,因此第一次它可以正常工作,但每次单击都会有越来越多的弹出窗口需要关闭。 将初始化放在 document.ready() 函数中,并放在点击处理程序之外。

关于javascript - 为什么这个弹出窗口会无缘无故地向 DOM 树添加多个覆盖 <div> ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34559655/

相关文章:

jquery - 我可以将 jQuery.ajax 与 Angular JS Promise api 一起使用吗?

javascript - 如何从 php 变量为谷歌地图脚本提供经度和纬度值

javascript - 如何对 json 响应数据进行分页

javascript - Popup.js - 加载外部 HTML 内容根本不起作用

javascript - jquery 折叠菜单不起作用

javascript - 从 JSON 数组中拼接或删除元素列表,仅删除偶数项而不是匹配项

javascript - 无法使用带有 Electron 应用程序的 Node JS 创建新文件夹和文件

javascript - 如何在javascript中动态创建下拉菜单后选择一个值