我有一个奇怪的问题,不知道如何解决它。
我的页面在 $(function() 事件中加载了一个插件。页面上有一个按钮隐藏第一个 DIV(包含呈现的插件)并将另一个 html 页面中的内容加载到第二个 DIV 中。第二个中的新内容DIV 有一个“取消”按钮,可以隐藏第 2 个 DIV 并显示原始第 1 个 DIV。
一切正常 - 但 DOM 丢失了插件功能,因此插件不再正常工作。该插件正在尝试在插件中加载函数(即:$.fn.myplugin = function()...)。
这是一些伪代码
第一页.....
$function() {
//Load plugin
$("div1").theplugin();
$("button1").click(function() {
$("div1").hide();
$.get("2ndpage.html", function (data) { $("div2").html(data); });
});
};
第二页……
$function() {
$("button2").click(function() {
$("div2").hide();
$("div1").show();
});
};
....此时,如果我单击 button2,它会隐藏 DIV2 并显示 DIV1 - DIV1 仍处于单击 button1 之前的最后状态,但插件的功能均不在 DOM 中。
有谁知道如何解决这个问题?提前致谢!
更多信息 我将手表放在插件的功能(有问题的功能)上,当代码到达这一点时,它从定义变为“未定义”:
$.get("2ndpage.html", function (data) {
$("div2").html(data); //HERE
});
这几乎就像 DOM 被 .get() 调用的页面所取代 - 但这似乎不对 - 或者是吗?也许有一种特殊的方法可以杀死第 2 页的内容,以便 DOM 回到调用 .get() 之前的状态?我不知道,thos 问题很奇怪而且令人沮丧 :) 谢谢大家