我在 JS Canvas 对象的弹出菜单中使用了 dijit/MenuItem。当用户右键单击画布时,我想显示菜单并根据用户选择的位置禁用一些项目。因此,我在 Canvas 的 onmousedonw 事件中编码以禁用该项目。
一切正常,除了当我右键单击并且 menuitem 从启用更改为禁用时,菜单中的项目仍显示为正常状态,直到我将鼠标移到它上面,然后它显示为灰色为禁用。有没有办法在更改禁用状态后以某种方式“刷新”菜单项,以便在菜单显示时立即显示为灰色?
菜单的 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;
}