Merge branch 'master' of github.com:jquery/jquery-ui

This commit is contained in:
Scott González 2011-02-25 10:41:52 +01:00
commit f095f23ffa
2 changed files with 14 additions and 6 deletions

View File

@ -1,4 +1,4 @@
<!doctype html> <!DOCTYPE html>
<html> <html>
<head> <head>
<title>Menu Visual Test: Default</title> <title>Menu Visual Test: Default</title>

View File

@ -13,7 +13,7 @@ $.widget("ui.menubar", {
}, },
_create: function() { _create: function() {
var self = this; var self = this;
var items = this.element.children("button, a"); var items = this.items = this.element.children("button, a");
var o = this.options; var o = this.options;
this.element.addClass('ui-menubar ui-widget-header ui-helper-clearfix'); this.element.addClass('ui-menubar ui-widget-header ui-helper-clearfix');
@ -69,17 +69,25 @@ $.widget("ui.menubar", {
}); });
$(document).click(function(event) { $(document).click(function(event) {
!$(event.target).closest(".ui-menubar").length && items.next("ul").hide(); !$(event.target).closest(".ui-menubar").length && self._close();
}); });
}, },
_close: function() {
this.items.next("ul").hide();
this.items.removeClass("ui-state-active");
},
_open: function(event, menu) { _open: function(event, menu) {
this.active && this.active.menu("closeAll").hide(); if (this.active) {
this.active.menu("closeAll").hide();
this.active.prev().removeClass("ui-state-active");
}
var button = menu.prev().addClass("ui-state-active");
this.active = menu.show().position({ this.active = menu.show().position({
my: "left top", my: "left top",
at: "left bottom", at: "left bottom",
offset: "0 -1", of: button
of: menu.prev()
}).focus(); }).focus();
}, },