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

时间:2016-04-01 18:22:25

标签: javascript jquery ajax

我有一个链接列表,点击与ajax的相应链接获取相应的文件。

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

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

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

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

那么我怎么能解决这个问题呢?谢谢。

------------------ EDIT ----------------------

这是我用来获取数据的功能

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

1 个答案:

答案 0 :(得分:1)

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

请参阅jQuery Remove documentation