0

我试图在工具栏按钮 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)。我必须发送什么事件才能“单击”设备上的按钮?

4

1 回答 1

0

似乎将激活触摸设备上的工具栏按钮“单击”的事件序列是 touchstart 后跟 touchend。

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

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

于 2013-07-23T09:06:44.347 回答