当用户“选择”轮播项目时,dojo 移动文档为您提供了一种监听 ant 事件的方法:http: //dojotoolkit.org/reference-guide/1.8/dojox/mobile/Carousel.html#handling-the-event - 当A-Carousel-item-IS选择
但是我需要在过渡时执行操作。有办法处理吗?
还有什么地方我可以找到小部件的所有“可处理事件”?
当用户“选择”轮播项目时,dojo 移动文档为您提供了一种监听 ant 事件的方法:http: //dojotoolkit.org/reference-guide/1.8/dojox/mobile/Carousel.html#handling-the-event - 当A-Carousel-item-IS选择
但是我需要在过渡时执行操作。有办法处理吗?
还有什么地方我可以找到小部件的所有“可处理事件”?
正如您在API Doc中所读到的,有一些event
s 已实现。不幸的是,它们似乎都不符合您的确切要求。
只有onNextBtnClick(e)
andonPrevBtnClick(e)
似乎朝着你的方向前进。
还有一个handleViewChanged(view)
- 方法,但我认为这不是指它本身,Carousel
而是指它所呈现的设备(比如从纵向模式到横向模式等等)。但由于它没有很深入的记录,我无法确切地说出它的用途。
您可以订阅在任何视图转换到时发出的 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。
在了解了有关 Dojo 的更多信息后,我意识到我没有正确处理这个问题。
创建一个继承自 carousel 的新模块。那么您需要做的就是覆盖handleViewChanged 方法(确保调用this.inherited),然后在其中做一些事情。