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

发布于 2024-12-08 08:46:12 字数 426 浏览 0 评论 0原文

我们正在做一个 bootstrap 风格的 iPhone 演示,而且我们更多地使用 jQuery,而不是 Ext,因此我们在 Sencha Touch 的事件和语法方面遇到了一些问题。

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

是否有一个“停止滚动”参数可以添加到下面的函数中?如果我错过了文档和截止日期之间显而易见的事情,我很抱歉,情况可能就是这样。

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

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

            //tasks

        });

        }

   },

谢谢!

We're doing a bootstrap-style iPhone demo, and are more jQuery folks than Ext, and accordingly are having some issues with events and syntax with Sencha Touch.

I attached an itemswipe event to a list item, and when it's swiped, it performs the tasks asked, but it also jars the list vertically as you swipe. I'd rather it didn't.

Is there a "stop scrolling" parameter I could add to function below? Apologies if I'm missing the obvious - between the documentation and the deadline, that could be the case.

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

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

            //tasks

        });

        }

   },

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

与风相奔跑 2024-12-15 08:46:12

我让它像这样工作:

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 : 'myList',
    selector : '.myList'
}

这至少会阻止您的列表滚动。当您完成任何您想做的事情并检测到项目滑动时,您可以稍后重新启用它(将其设置为 true)。这适用于 Sencha Touch 2。如果您需要更多信息,请告诉我!

I got it to work like this:

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

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

This is all defined in the controller's init function. I save a reference to the controller because sometimes it is out of scope inside of the event handler. This way you can reference the controller. I also have 'myList' defined about as a ref:

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

This will at least stop your list from scrolling. You can reenable it late (set it to true) when you are done with whatever you want to do when an item swipe is detected. This works on Sencha Touch 2. Let me know if you need more info!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文