我有一个链接列表,通过使用 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 节点。
关于javascript - 获取所有事件监听器的列表,javascript/jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36363297/