This can be used as a quick workaround with jQuery UI 1.8.2.
.ui-menu .ui-menu-item-disabled {
margin:0;
zoom: 1;
float: left;
clear: left;
width: 100%;
text-decoration:none;
display:block;
padding:.2em .4em;
line-height:1.5;
color: gray;
}
function disableMenuItem(menuItemId) {
var menuItem = $("#" + menuItemId);
menuItem.removeClass("ui-menu-item");
menuItem.addClass("ui-menu-item-disabled");
menuItem.children("a").children("div").unwrap();
}
function enableMenuItem(menuItemId, onClickValue) {
var menuItem = $("#" + menuItemId);
menuItem.children("div").wrap("<a tabindex=\"-1\" class=\"ui-corner-all\" href=\"#\" onclick=\"" + onClickValue + "\"></a>");
menuItem.removeClass("ui-menu-item-disabled");
menuItem.addClass("ui-menu-item");
menuItem.mouseenter(function(event) {
menuItem.children("a")
.addClass("ui-state-hover")
.attr("id", "ui-active-menuitem");
})
.mouseleave(function() {
menuItem.children("a")
.removeClass("ui-state-hover")
.removeAttr("id");
});
}