Dojo向dojox.mobile.ToolBarButton发出click事件

时间:2013-07-04 03:59:04

标签: dojo dojox.mobile

我试图在工具栏按钮Dojo 1.8.1上发出点击事件。

<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)。我必须发送什么事件来“点击”设备上的按钮?

1 个答案:

答案 0 :(得分:0)

似乎触发设备上激活工具栏按钮“点击”的事件序列是touchstart,然后是touchend。

我认为您的示例不起作用,因为您发出的合成触摸事件不包含任何数据,这会使处理它的不同方法失败。

触发工具栏按钮的单击处理程序的另一种方法是调用其_onClick方法。