addEventListener代码块中的函数预期错误

时间:2014-05-31 00:20:45

标签: javascript function windows-runtime windows-phone winjs

我正在开发一个Windows Phone应用程序并使用HTML / JS来构建它。所以我的代码中有一个WinJS引用。

以下是我的代码:

WinJS.UI.Pages.define("...", {
    ready: function (element, options) {
        var item = element.querySelector("#item").winControl;
        item.addEventListener("iteminvoked", function (eventInfo) {
            eventInfo.detail.itemPromise.done(function itemInvoked(item) {
                WinJS.Navigation.navigate("...", { newsItem: item.data });
            });
        }, false);
    }
}

当我运行上面的代码时,它抛出错误,说:0x800a138a - JavaScript runtime error: Function expected它导致base.js,这是WinJS语言的一部分(如果我错了,请纠正我)。我使用断点和"跳过"逐行和抛出错误的行是:item.addEventListener...

我尝试使用http://jshint.com除了未使用的变量和未定义的变量(WinJS)之外,它没有显示任何错误。

如果我需要显示更多代码,请告诉我。

当我搜索这个问题时,我了解到这可能是因为我在某个我不应该的地方添加了一个副词,因此它将其视为一个功能。

1 个答案:

答案 0 :(得分:2)

你错过了一个大括号

WinJS.UI.Pages.define("...", {
    ready: function (element, options) {
        var item = element.querySelector("#item").winControl;
        item.addEventListener("iteminvoked", function (eventInfo) {
            eventInfo.detail.itemPromise.done(function itemInvoked(item) {
                WinJS.Navigation.navigate("...", { newsItem: item.data });
            });
        }, false);
    } // HERE
}