我正在创建一个 jQuery Mobile Web 应用程序,它会加载一些页面。
例如,a.html是我的主页。它可能会调用b1.html, b2.html,..., b100.html(用户可以点击其中一个按钮)。(页面加载了 jQuery Mobile 的 ajax 导航功能)
并且每一页都有一些事件,每一b[i].html页ids和很多东西都是一样的b[i].html。但关键是,在任何时候,只有其中一个可能在 DOM 中。所以不会有id冲突之类的。
问题
问题是事件的冲突。当用户返回a.htmlfromb[i].html时,HTML 将被删除,但事件将保留。如果我先去b[i].html,然后再回来a.html再去,这会引起很多问题b[j].html。我的意思是,b[j].html将无法正常工作... :(
我试过的
我已将其放入a.html,以删除所有事件:
$("#mainpage").off("pagebeforeshow").on("pagebeforeshow",function() {
$("*").not("#mainpage").off();
//Other initialization codes...
});
但是,问题没有解决...
(mainpage是 的data-role="page"id a.html)
例子
例如,我在每个中都有这个b[i].html:
$(window).resize(function () {
alert("Resized");
});
在开始时(在a.html),如果我调整窗口大小,将没有警报,但是在访问b[i].html然后返回之后a.html,如果我调整窗口大小,我会看到警报,即使使用那行代码(我已经尝试过部分。)...
a.html那么,当用户返回from时,如何删除这些事件处理程序b[i].html?