WinJS listView手势附加/触发选择后

时间:2016-02-09 23:09:58

标签: javascript listview winjs gestures

我有一个WinJS列表视图,我将MSGesture附加到第一次点击/点击时不会触发。点击/点击项目后,只需点击一下即可完成。这让我相信它不会马上附上。这是一个MSGestureHold:

    function myEdit() {

        var theelem = document.querySelector(".win-selected #myNotes");

        var gestureObject = new MSGesture();
        gestureObject.target = theelem;
        theelem.gestureObject = gestureObject;

        theelem.addEventListener("pointerdown", pointerDown, false);
        theelem.addEventListener("MSGestureStart", gestureStart, false);            
        theelem.addEventListener("MSGestureHold", gestureHold, false);
        theelem.addEventListener("MSGestureEnd", gestureEnd, false);

        function pointerDown(e) {
            e.target.gestureObject.addPointer(e.pointerId);

            //console.log(e);
        }

        function gestureStart(e) {

        }

        function gestureHold(e){
            console.log(e);

        }

        function gestureEnd(e){
            e.target.gestureObject = null;

        }

    };

从itemInvokedHandler:

中调用该函数
        WinJS.UI.processAll(root).then(function () {

            var listview = document.querySelector('#myNotePad').winControl;
            listview.addEventListener("iteminvoked", itemInvokedHandler,false);

            function itemInvokedHandler(e) {

                e.detail.itemPromise.done(function (invokedItem) {

                    var setelem = document.querySelector(".win-selected #myNotes");
                    setImmediate(setelem.addEventListener("pointerdown", myEdit(), false));

                    //hopeThisWorks();

                    //myEdit();
                });
            };


        });

正如您所看到的,我尝试使用函数调用和addEventListener。 奇怪的是,我还有另一个功能,可用于造型,它立即发射没有问题。让我思考它是如何处理手势的,或者应该是这样。

现在可能影响这个的html是:

layout:{type: WinJS.UI.ListLayout},
selectionMode: 'multi', tapBehavior: 'directSelect'

我尝试过“tapBehavior:invokeOnly”,但这有点打破了一切。

谢谢你看看。

-Rob0

0 个答案:

没有答案