在Metro应用程序中,如何在用户单击ListView项的子元素时显示弹出按钮。我的意思是当用户点击下面的ListView项目的“item-overlay”时,应显示一个弹出窗口。我遇到的问题是Metro ListView没有为我提供一个事件方法来获取itemInvoked中的DOM。
HTML
<!-- Detail items -->
<div class="itemtemplate" data-win-control="WinJS.Binding.Template">
<img class="item-image" src="#" data-win-bind="src: backgroundImage; alt: title" />
<div class="item-overlay">
<h4 class="item-title" data-win-bind="textContent: shortTitle; id: key"></h4>
</div>
</div>
JS。这是ListView项目的itemInvoked事件
itemInvoked: function (args) {
console.log("groupItems:itemInvoked");
if (appView.value === appViewState.snapped) {
// If the page is snapped, the user invoked a group.
var group = Data.groups.getAt(args.detail.itemIndex);
nav.navigate("/pages/groupDetail/groupDetail.html", { groupKey: group.key });
} else {
// If the page is not snapped, the user invoked an item.
var item = Data.items.getAt(args.detail.itemIndex);
nav.navigate("/pages/itemDetail/itemDetail.html", { item: Data.getItemReference(item) });
}
},
答案 0 :(得分:0)
您可能需要将win-interactive添加到容器中,以确保列表视图不会吞噬与元素的任何交互。
这说明,给你的处理程序,为什么你甚至走这条路,是不是默认调用的东西给你你需要的东西?