Sencha Touch:当itemswipe事件发生时,我可以阻止List垂直滚动吗?

时间:2011-10-05 16:08:25

标签: sencha-touch

我们正在做一个自举式iPhone演示,并且比Ext更多的jQuery人员,因此与Sencha Touch有关事件和语法的一些问题。

我将一个itemswipe事件附加到一个列表项,当它被刷过时,它会执行所要求的任务,但它也会在您滑动时垂直查看列表。我宁愿没有。

我可以在下面添加“停止滚动”参数吗?如果我错过了显而易见的事情 - 在文档和截止日期之间,可能就是这种情况。

$itemswipe: function (list, index, element, event) {

        if (event.direction =="right") {

            //tasks

        });

        }

   },

谢谢!

1 个答案:

答案 0 :(得分:3)

我让它像这样工作:

var thisController = this;
this.control({
        '.myList' : {
            itemswipe : function(dataView, index, target, e, eOpts) {
                console
                        .log('myList itemSwipe '
                                + index);

                thisController.getMyList().setScrollable(false);
            }
        }
    });

这都是在控制器的init函数中定义的。我保存了对控制器的引用,因为有时它超出了事件处理程序的范围。这样您就可以引用控制器了。我还将'myList'定义为ref:

{
    ref : 'myList',
    selector : '.myList'
}

这至少会阻止你的列表滚动。当您完成检测到项目滑动时要执行的任何操作时,您可以延迟重新启用它(将其设置为true)。这适用于Sencha Touch 2.如果您需要更多信息,请告诉我们!