Menubar: Another fix for tab/focus handling

This commit is contained in:
jzaefferer 2011-03-17 15:37:27 +01:00
parent 24d1952045
commit cb17d6d209

View File

@ -41,8 +41,8 @@ $.widget("ui.menubar", {
event.preventDefault(); event.preventDefault();
break; break;
}; };
}).blur(function() { }).blur(function( event ) {
self._close(); self._close( event );
}); });
}); });
items.each(function() { items.each(function() {
@ -97,7 +97,9 @@ $.widget("ui.menubar", {
}); });
self._bind(document, { self._bind(document, {
click: function(event) { click: function(event) {
self.open && !$(event.target).closest(".ui-menubar").length && self._close(); if (self.open && !$(event.target).closest(".ui-menubar").length) {
self._close();
}
} }
}) })
self._bind({ self._bind({
@ -125,10 +127,10 @@ $.widget("ui.menubar", {
}, },
_open: function(event, menu) { _open: function(event, menu) {
// TODO refactor with _close // almost the same as _close above, but don't remove tabIndex
if (this.active) { if (this.active) {
this.active.menu("closeAll").hide(); this.active.menu("closeAll").hide();
this.active.prev().removeClass("ui-state-active").removeAttr("tabIndex"); this.active.prev().removeClass("ui-state-active");
} }
clearTimeout(this.timer); clearTimeout(this.timer);
this.open = true; this.open = true;