内存中的 WinJS 停止 javascript

WinJS Stop javascript in memory

我正在学习使用 Win.JS 导航,现在我可以在页面之间导航了。但是当我离开页面并从第一页触发事件时出现错误。

所以问题来了。我在 Page1.html 上有一些 javascript 运行 | .js 如果我按下键盘上的向上箭头按钮,例如 javascript 运行(onclick)。这工作正常,但然后我单击一个按钮并导航到 Page2.html 也使用 (.js),如果我然后也单击向上箭头按钮,我会收到错误消息。它尝试启动在 onclick 中调用的函数,但我的 Page2 中不再存在该函数。

所以问题是,如果我不再访问该页面,如何从第 1 页卸载这些 javascript 触发器?

在您的 WinJS 页面定义中,您可以定义 unload 方法,该方法在用户离开页面时始终被调用。在那里注销所有事件处理程序。

WinJS.UI.Pages.define("/page.html", {

    ready: function (element, options) {
        // add onclick handler
    },

    unload: function() {
       // remove here all event handlers
    }

});