Как вы можете прочитать в документе по API, реализовано несколько event. К сожалению, ни один из них не соответствует вашим точным требованиям.
Только onNextBtnClick(e) и onPrevBtnClick(e) идут в вашем направлении.
Существует также handleViewChanged(view)-метод, но я не думаю, что это относится не к самому Carousel, а к устройству, на котором оно представлено (например, переход из портретного режима в ландшафтный режим или что-то в этом роде). Но поскольку он не очень глубоко задокументирован, я не могу точно сказать, для чего он нужен.
Вы можете подписаться на тему Dojo "/dojox/mobile/viewChanged", которая создается при переходе к любому представлению, и проверить, является ли представление дочерним элементом вашей карусели, например:
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.
Узнав больше о Додзё, я понял, что неправильно к этому подошел.
Создайте новый модуль, наследуемый от carousel. тогда все, что вам нужно сделать, это переопределить метод handleViewChanged (не забудьте вызвать this.inherited), а затем сделать что-то прямо там.