Im пытается запустить событие click на панели инструментов Dojo 1.8.1.Dojo emit click event to dojox.mobile.ToolBarButton
<div data-dojo-type="dojox.mobile.ToolBarButton" class="backButton" moveTo="cartView" transition="slide">
Я попытался
function backClick(){
var backButton = dojo.query(".backButton", dojo.byId(currentView.id))[0];
writeLog("backClick::"+backButton);
if(backButton){
var backDijit = dijit.registry.byId(backButton.id);
writeLog("backDijit::" + backDijit.id);
writeLog("emit Click");
backDijit.emit("click", {bubbles:true});
writeLog("emit mousedown");
backDijit.emit("mousedown",{bubbles:true});
writeLog("emit mouseup");
backDijit.emit("mouseup",{bubbles:true});
writeLog("touchstart");
backDijit.emit("touchstart");
writeLog("touchEnd");
backDijit.emit("touchend");
}else{
//Exit App notification
navigator.app.exitApp();
}
}
MouseDown/MouseUp комбо работает в браузере. Но на устройстве это не работает (Android). Какое событие я должен отправить, чтобы нажать кнопку на устройстве?
Невозможно называть _onClick виджета кнопки, я предполагаю, что после прослушивания действия в фоновом режиме (флаг moveTo) с помощью прослушивателя dojo.on, _onClick ничего не делает. – tik27
Если ваша основная цель состоит в том, чтобы выполнить кнопку перехода, определенную для вас, вы также можете сделать это, выполнив метод executeTransition представления (вместо того, чтобы возвращать кнопку «Назад» для эмуляции щелчка по ней, получить представление и выполнить его executeTransition метод). Что вы хотите сделать точно? –
Если приложение имеет 4 вида вниз, просто было легко запустить подкладку, так как у нее уже есть имя предыдущего вида, написанного на нем. Единственный вариант, который я вижу, - это то, что эта работа не будет заключаться в том, чтобы создать массив прошлых имен представлений, чтобы вручную отменить действие приложения. Доджо.история выглядела интересной, но не уверен, что она будет обрабатывать переходы просмотра. – tik27