我在Windows 8.1的WinJS应用中发出单页导航问题:
我的应用程序上有很多页面,其中许多页面具有相同的ID(例如,链接到称为“ myPage”的同一页面)。但是有些奇怪的事情发生了:
在“第1页”上,我有指向“第2页”和“第3页”的链接。在“ page2”上,我有一个指向“ page1”和“ page3”的链接。
如果我从“第1页”导航到“第2页”,然后返回“第1页”,最后到“第3页”,则该最后一个链接不会运行。
在“ page1”的加载功能上,我将所有eventHandlers设置为用于导航的示例
document.getElementById("page3").onclick = function () {
WinJS.Navigation.navigate("/pages/page3/page3.html");
};
链接到“ page2”中“ page3”的加载函数上存在相同的代码
元素具有相同的ID。
如果我直接导航到“ page3”而不通过“ page2”,它将正常工作。
有没有一种方法可以避免此问题而无需更改所有元素id?
最佳答案
您必须等待,直到所有资源都加载完毕。
WinJS.UI.processAll().done(function () {
document.getElementById("page3").onclick = function () {
WinJS.Navigation.navigate("/pages/page3/page3.html");
};
});
更多信息:https://msdn.microsoft.com/es-es/library/windows/apps/hh440975.aspx