dom中列表视图中的项目何时可用?

时间:2013-12-13 11:12:00

标签: windows-8 winjs windows-8.1

我有一个带有listView的页面。 我需要读取listView中最后一项的位置,但是我找不到合适的时刻或事件来执行它。基本上我找不到一种方法来确定列表中是否已加载所有项目。

这是我的就绪函数,你可以看到我可以在listView加载完成时找到,但似乎即使在那时DOM中也没有这些项目:

页面中只有一个列表。

ready: function (element, options) {

    //now the onloadingstatechanged evenet for the list
    var listView = element.querySelector(".itemslist").winControl;
    listView .onloadingstatechanged = function (args) {
        if (args.srcElement === listView .element && listView .loadingState === "complete") {

            debugger;

            /* THIS LINE SHOULD WORK IF THE ITEMS WERE LOADED, items IS INSTEAD null*/
            var items = element.querySelector(".itemslist .win-itemsblock");

            listView .onloadingstatechanged = null;
        }
    };
}

当app停在debugger;指令时,这是我的DOM对象中的listView:

enter image description here

这是程序运行到结束后我的DOM对象中的listView:

enter image description here

1 个答案:

答案 0 :(得分:2)

键入调试器;在事件正文中,然后使用DOM Inspector检查DOM,看看你的ListView是否已经充实。你是正确的,当加载状态完成时你应该有权访问DOM元素,所以你的选择器可能有问题。