dijit / MenuItem已禁用但未自动显示为灰色

时间:2012-12-06 14:45:42

标签: javascript dijit.form

我在JS Canvas对象的弹出菜单中使用了dijit / MenuItem。当用户右键单击Canvas时,我想显示菜单并根据用户选择的位置禁用某些项目。因此,我在Canvas的onmousedonw事件中编码以禁用该项。

一切正常,但是当我右键单击并且菜单项从启用更改为禁用时,菜单中的项目仍然显示为正常状态,直到我将鼠标移到它上面然后它显示灰色为禁用。是否有一种方法可以在更改禁用状态后以某种方式“刷新”菜单项,以便在菜单显示时立即显示为灰色?

菜单的HTML

<ul dojoType="dijit/Menu" id="menu" style="display: none;border-radius:3px;">
<div dojoType="dijit/MenuItem" id="Popup_Cut"><span>Cut</span></div></ul>

禁用JS

function handleMouseDown(event) {

 if(...)
     dijit.byId("Popup_Cut").disabled = true;
}

1 个答案:

答案 0 :(得分:1)

而不是使用属性disabled,而是使用set方法:

dijit.byId('Popup_Cut').set("disabled",true);

有同样的问题,这对我有用。

有关set的更多信息: http://dojotoolkit.org/reference-guide/1.8/dijit/info.html#set-and-get