感觉我在这里错过了一些愚蠢的东西,但是在listview上听点击事件的推荐方法是什么?
目前我有:
WinJS.Utilities.query(".menuHolder").listen("click",linkClickHandler,false);
我的listview模板使用类’menuHolder’作为它的项目:
<div id="menuTemplate" data-win-control="WinJS.Binding.Template"> <div class="menuHolder"> <!-- menu img --> <img src="#" data-win-bind="src : pic; alt : title" /> <div class="menuText"> <!-- menu text --> <h1 data-win-bind="innerText : title"></h1> <!-- menu desc --> <h4 data-win-bind="innerText : description"></h4> </div> </div> </div>
我似乎没有在我的链接处理程序中点击我的断点,或者调用它的函数.有什么想法吗?
编辑:
作为一个跟随问题(记住项目调用事件)是否有人知道在listview和iteminvoked事件之间传递数据的推荐方法,如果我说想要使用WinJS.Navigator类来移动应用程序?我猜我需要将eventInfo的某些部分转换为合适的对象并检索信息,哪个部分?
假设您要“传递”的数据是绑定到被调用项的数据,您可以在传递给iteminvoked事件的事件参数中执行此操作.我的一个看起来像这样……
demosLV.oniteminvoked = function(e) { e.detail.itemPromise.then(function(item) { var location = format("/pages/{0}/{0}.html",item.data.key); WinJS.Navigation.navigate(location,item.data); }); };
所以demosLV就是ListView.我正在将oniteminvoked设置为一个函数.该函数接收“e”作为事件args.在函数中,我访问e.detail.itemPromise并挂起它.然后关闭它.然后我使用item.data访问.then中的实际数据.希望这就是你的意思.顺便说一句,格式函数是我的一个,如果你想知道它为什么不适合你.