oniteminvoked没有解雇WinJS Listview

时间:2015-06-23 03:23:35

标签: listview winjs listviewitem

我一直在寻找关于我的代码的这个问题的答案,我不能说不同的答案,因为据我所知,答案并不多。

我有一个正在填充一些服务器内容的ListView(注意应用程序)我似乎能够使用Sub SO() Dim MyString As String MyString = "614,626,618,609,605" For X = 1 To Range("C" & Rows.Count).End(xlUp).Row If Replace(MyString, Left(Range("C" & X).Value, 3), "") <> MyString Then Range("C" & X).Value = "737" Next End Sub 更改selectionMode,tapBehavior和ListView的一些不同属性 但是唯一一个根本不起作用的Chrome开发工具告诉我实际上有一个oninvokeditem的事件处理程序但是一旦我点击什么似乎没有用,我放的任何断点都没有被击中。 这是一些代码:

WinJS.UI.procesAll().then(//code here);

这是一些HTML           

var WinJSRequest = function (uri, method, data) {
    var request = {
        url: uri,
        type: method,
        contentType: "application/json",
        accepts: "application/json",
        cache: false,
        dataType: 'json',
        data: JSON.stringify(data),
        beforeSend: function (xhr) {
            xhr.setRequestHeader("Authorization",
                "Basic " + btoa(username + ":" + password));
        },
        error: function (jqXHR) {
            //console.log(data);
            console.log("ajax error " + jqXHR.status);
        }
    };
    return WinJS.xhr(request).done(
        function completed(request) {
            var arr = JSON.parse(request.response);
            for (var i = 0; i < arr.tareas.length; i++) {
                tareas.push(arr.tareas[i]);
            }
            WinJS.Namespace.define("App.Notas", {
                data: new WinJS.Binding.List(tareas)
            });
            WinJS.UI.processAll().then( function() {
                listaTareas = WinJS.Utilities.query('#listaTareas');
                listaTareas = listaTareas[0].winControl;
                listaTareas.oniteminvoked = function (ev) {
                    console.log('index: ' + ev.detail.itemIndex);
                };
            });
        },
        function error(request) {
            alert(request);
        },
        function progress(request) {
            //alert(request);
            console.log('In Progress');
        });
};

除此之外别无他物。 我曾尝试使用 <!-- Template para el Listview --> <div id="listviewTemplate"> <div class="listViewNotasTemplate" data-win-control="WinJS.Binding.Template"> <div class="listviewItemNota"> <h1 class="win-h1" data-win-bind="textContent: titulo"></h1> <h3 class="win-h3" data-win-bind="textContent: descripcion"></h3> <h5 class="win-h5" data-win-bind="textContent: hecho"></h5> </div> </div> </div> <!-- Codigo del ListView --> <div id="listaTareas" class="listView win-selectionstylefilled" data-win-control="WinJS.UI.ListView" data-win-options="{ itemDataSource: App.Notas.data.dataSource, itemTemplate: select('.listViewNotasTemplate'), selectionMode: 'multi', tapBehavior:'toggleSelect', layout: { type: WinJS.UI.ListLayout } }"></div> <!-- Termino el ListView --> <script src="node_modules/winjs/js/base.js"></script> <script src="node_modules/winjs/js/ui.js"></script> <script src="node_modules/jquery/dist/jquery.js"></script> <script src="js/index.js"></script> , 我试图在HTML控件上声明它,但什么也没有,也许只是我不寻求帮助的人?

提前致谢:)

编辑:为了记录我正在看控制台我发现oniteminvoked:(...) 发现这个 arguments:TypeError:严格模式函数或调用它们的参数对象可能无法访问'caller','callee'和'arguments'属性     在Function.remoteFunction(:3:14)     at Object.InjectedScript.callFunctionOn(:750:66)

1 个答案:

答案 0 :(得分:0)

您的活动名称有误:

listaTareas.addEventListener(&#39; iteminvoked&#39;,handler,false)

没有&#39; on&#39; ;)