在Javascript中使用iteminvoke从Listview中选择Item

时间:2013-12-23 12:27:54

标签: javascript microsoft-metro windows-store-apps winjs

我有一个带有项目的ListView。我正在尝试使用“iteminvoked”获取Listview中的单击项目。

    <div id="listView_Id" data-win-control="WinJS.UI.ListView"
     data-win-options="{
            itemTemplate: select('#smallListIconTextTemplate'),
            selectionMode: 'single',
            tapBehavior: 'none',
            layout: { type: WinJS.UI.GridLayout }
        }">
   </div>

这里ListArray是使用'FilePicker'

选择文件名的值数组
        dataList = new WinJS.Binding.List(listArray);
        var listControlDiv = document.getElementById("listView_Id");
        var listControl = listControlDiv.winControl;
        listControl.itemDataSource = dataList.dataSource;

我通过停用此question来设置JS文件中的ListView数据源而不是HTML文件。

我创建了这样的处理程序。

document.getElementById("listView_Id").addEventListener("iteminvoked", doClickItem, false);

但不幸的是,我的doClickItem处理程序不会以任何方式调用。同样地从Listview中选择正常工作的项目。

我想我使用Javascript设置Listview数据源(项目源将重复更改)。我在这做错了什么。

Here是我完整的项目 感谢

1 个答案:

答案 0 :(得分:1)

试试这个..

 var listControl = document.getElementById("listView_Id").winControl;
 listControl.addEventListener("iteminvoked", doClickItem, false);