.v-menubar .v-icon,
.v-menubar-submenu .v-icon {
margin-right: 3px;
+}
+
+.v-menubar-popup:focus,
+.v-menubar-popup .popupContent:focus,
+.v-menubar-popup .popupContent .v-menubar-submenu:focus{
+ outline: none;
}
\ No newline at end of file
}
public VMenuBar(boolean subMenu) {
- super();
items = new ArrayList<CustomMenuItem>();
popup = null;
public void onMenuClick(int clickedItemId) {
// Cancel the focus event handling since focus was gained by
// clicking an item.
- if (focusDelayTimer != null) {
+ if (focusDelayTimer != null || subMenu) {
focusDelayTimer.cancel();
}
if (isEnabled() && targetItem.isEnabled()) {
itemClick(targetItem);
}
+ if (subMenu) {
+ // Prevent moving keyboard focus to child menus
+ VMenuBar parent = parentMenu;
+ while (parent.getParentMenu() != null) {
+ parent = parent.getParentMenu();
+ }
+ parent.setFocus(true);
+ }
+
break;
case Event.ONMOUSEOVER:
itemOut(targetItem);
break;
}
+ } else if (subMenu && DOM.eventGetType(e) == Event.ONCLICK && subMenu) {
+ // Prevent moving keyboard focus to child menus
+ VMenuBar parent = parentMenu;
+ while (parent.getParentMenu() != null) {
+ parent = parent.getParentMenu();
+ }
+ parent.setFocus(true);
}
}