我正在学习使用 Win.JS 导航,现在可以在页面之间导航。但是当我离开页面并从第一页触发事件时出现错误。
所以问题来了。我在 Page1.html | 上运行了一些 javascript .js 例如,如果我按键盘上的向上箭头按钮,则会运行 JavaScript(onclick)。这工作正常,但随后我单击一个按钮并导航到带有 (.js) 的 Page2.html,如果我随后还单击向上箭头按钮,则会收到错误。它尝试启动 onclick 中调用的函数,但该函数在我的 Page2 中已不存在。
所以问题是,如果我不再在该页面上,如何从 Page1 卸载这些 javascript 触发器?
最佳答案
在 WinJS 页面定义中,您可以定义在用户离开页面时始终调用的 unload 方法。在那里取消注册所有事件处理程序。
WinJS.UI.Pages.define("/page.html", {
ready: function (element, options) {
// add onclick handler
},
unload: function() {
// remove here all event handlers
}
});
关于javascript - WinJS 停止内存中的 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30099742/