microsoft-metro – 在ListView上收听click事件

前端之家收集整理的这篇文章主要介绍了microsoft-metro – 在ListView上收听click事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
感觉我在这里错过了一些愚蠢的东西,但是在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中的实际数据.希望这就是你的意思.顺便说一句,格式函数是我的一个,如果你想知道它为什么不适合你.

猜你在找的Windows相关文章