javascript - 获取所有事件监听器的列表,javascript/jquery

标签 javascript jquery ajax

我有一个链接列表,通过使用 ajax 单击适当的链接即可获取适当的文件。

假设我在“pages”文件夹中有一些名为 a.php 和 b.php 的文件。按下第一个链接后,我从文件 a.php 中获取所有数据,b.php 也是如此。

问题是,如果我首先打开 a.php 并用这行代码填充 div:

$("#content").html(data);

然后我打开文件 b.php 并用从第二个文件中获得的新数据覆盖以前创建的数据,然后文件 a.php 中的事件监听器不会被覆盖。

那么我该如何解决这个问题呢?谢谢。

------------------编辑----------------------

这是我用来获取数据的函数

function openPage()
{
    var targetPage = $(this).data("page-file-name");
    $("#loader").css("display", "block");

    $.ajax(
    {
        method: "GET",
        url: "pages/"+targetPage
    }).done(function(data) 
    { 
        $("#container *").remove();
        $("#container").html(data);
        $("#loader").css("display", "none");
    });
} 

最佳答案

您需要使用jQuery.remove方法来删除所有现有的DOM节点以及数据和事件。之后使用 html 方法插入新的 DOM 节点。

参见jQuery Remove documentation

关于javascript - 获取所有事件监听器的列表,javascript/jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36363297/

相关文章:

javascript - 如何使用 onchange 事件将附加表行的值存储在数组变量中?

javascript - 在 AJAX (Javascript) 中异步执行同步函数

javascript - 在javascript中传递两个不同的变量?

javascript - 为什么我的硬币找零功能在包含在内存缓存中时不起作用?

javascript - 如何立即更新我的 React 状态?

javascript - 检查鼠标是否在 div 内

java - 从 servlet 获取数据到 ajax?

javascript - Node.js 加载空的 css 文件

javascript - Node - 在管道之后正确关闭流

javascript - JQuery/Javascript 选择器使用 toggle() 或 add/removeClass() 遍历元素数组