1

有谁知道如何以编程方式取消选择 dojo dijit.MenuBarItem。问题是,当我选择 dijit.MenuBar 上的一项时,弹出对话框(我可以看到条形菜单项被取消选择),用户输入信息并关闭对话框,但条形菜单项再次被选中并且一直处于选中状态。我试过了:

dijit.byId("navMenu")._markInactive();  
dijit.byId("navMenu").isActive = false;

或者

dijit.byId("transId")._markInactive();
dijit.byId("transId").isActive = false;

但它不这样做。请问还有什么建议,谢谢

<div data-dojo-type="dijit.layout.ContentPane" id='barPane'data-dojo-props="region:'top'" style="padding:0px;">
<div data-dojo-type="dijit.MenuBar" id="navMenu">
<div data-dojo-type="dijit.MenuBarItem" data-dojo-props="onClick:uploadAndClearDialog">Upload</div>
<div data-dojo-type="dijit.MenuBarItem" data-dojo-props="onClick:exportCsv">Download</div>
<div data-dojo-type="dijit.MenuBarItem" data-dojo-props="onClick:showTranslateDialog" id="transId">Translate</div>
</div>
</div>
4

1 回答 1

1

我将语句“_setSelected(false)”放在进程结束前的最后,它运行良好。

例如:

function yourFnt() {
    // Close dialog
    dijit.byId('yourDlg').onCancel();

    require(["dojo/request","dojo/domReady!" ],
    function(request) {
        var vURL = "yourserviceURL"
        var deferred = request.get(vURL, {
                        handleAs : "json"
                    });
        deferred.then(function(response) {
            ...
            ...
            // Unselect menuitem
            dijit.byId("yourMenuItem")._setSelected(false);
            });
        });
}
于 2013-12-27T13:08:26.427 回答