1

当用户“选择”轮播项目时,dojo 移动文档为您提供了一种监听 ant 事件的方法:http: //dojotoolkit.org/reference-guide/1.8/dojox/mobile/Carousel.html#handling-the-event - 当A-Carousel-item-IS选择

但是我需要在过渡时执行操作。有办法处理吗?

还有什么地方我可以找到小部件的所有“可处理事件”?

4

3 回答 3

1

正如您在API Doc中所读到的,有一些events 已实现。不幸的是,它们似乎都不符合您的确切要求。

只有onNextBtnClick(e)andonPrevBtnClick(e)似乎朝着你的方向前进。

还有一个handleViewChanged(view)- 方法,但我认为这不是指它本身,Carousel而是指它所呈现的设备(比如从纵向模式到横向模式等等)。但由于它没有很深入的记录,我无法确切地说出它的用途。

于 2012-12-21T06:21:29.707 回答
0

您可以订阅在任何视图转换到时发出的 Dojo 主题“/dojox/mobile/viewChanged”,并检查该视图是否是 Carousel 的子视图,如下所示:

require(["dojo/topic"], function(topic){
    topic.subscribe("/dojox/mobile/viewChanged", function(view){
        if(view.getParent() === myCarousel){
            // a new view inside my carousel has been transitioned to
            ...
        }
    });
});

或者,您实际上可以连接到 handleViewChanged 方法,因为 Carousel 在内部订阅“/dojox/mobile/viewChanged”并调用 handleViewChanged。

于 2013-01-07T16:18:28.947 回答
0

在了解了有关 Dojo 的更多信息后,我意识到我没有正确处理这个问题。

创建一个继承自 carousel 的新模块。那么您需要做的就是覆盖handleViewChanged 方法(确保调用this.inherited),然后在其中做一些事情。

于 2014-05-23T14:24:39.220 回答