下面是我的WinJS.UI.ListView定义。但是,右键单击或执行Ctrl +单击时,永远不会调用onselectionchanged。我已将ListView设置为与样本相同(其工作)。我错过了什么吗?或者只是点击选择会有什么干扰?
this.m_listView = new WinJS.UI.ListView(this.domNode,
{
layout : {type: WinJS.UI.GridLayout},
itemTemplate : this.itemTemplate.bind(this),
selectionMode: 'multi',
tapBehavior: 'invokeOnly',
swipeBehavior: 'select'
});
this.m_listView.oniteminvoked = this.itemInvoked.bind(this);
this.m_listView.onselectionchanged = this.selectionChanged.bind(this);
编辑:我在一个单独的函数中使用这些行分配我的数据源
var itemList = new WinJS.Binding.List(this.m_nodes);
this.m_listView.itemDataSource = itemList.dataSource;
此ListView包含在javascript类中。所以我的模板函数是我的EntriesList类的原型。这就是那个功能(为了简单起见,我提取了真实的内容,但我仍然对内容有这个问题):
EntriesList.prototype.itemTemplate = function(itemPromise)
{
return itemPromise.then
(
function (item)
{
var entry = document.createElement("div");
entry.className = "tile";
entry.style.height = "120px";
entry.style.width = "340px";
return entry;
}
);
答案 0 :(得分:0)
问题在于我们的内部API阻塞了指针事件。我们能够解决问题。问题中的代码/配置有效。