diff options
Diffstat (limited to 'tests/visual/menu/flyoutmenu.js')
-rw-r--r-- | tests/visual/menu/flyoutmenu.js | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/tests/visual/menu/flyoutmenu.js b/tests/visual/menu/flyoutmenu.js index 8534c9462..54ee8bb67 100644 --- a/tests/visual/menu/flyoutmenu.js +++ b/tests/visual/menu/flyoutmenu.js @@ -34,14 +34,17 @@ $.widget("ui.flyoutmenu", { }).keydown(function(event) { if (self.element.is(":hidden")) return; - event.stopPropagation(); switch (event.keyCode) { case $.ui.keyCode.LEFT: - self.left(event); + if (self.left(event)) { + event.stopImmediatePropagation(); + } event.preventDefault(); break; case $.ui.keyCode.RIGHT: - self.right(event); + if (self.right(event)) { + event.stopImmediatePropagation(); + } event.preventDefault(); break; case $.ui.keyCode.ESCAPE: @@ -98,22 +101,18 @@ $.widget("ui.flyoutmenu", { at: "right top", of: this.activeItem }); - $(document).one("click", function() { - //clicking outside menu flyouts should close all flyouts - //$(document).find(".ui-menu-flyout").hide(); - }) }, _select: function(event) { event.stopPropagation(); // TODO make _select cancelable? this._trigger( "select", event, { item: this.activeItem } ); - //this.activate(event, this.element.children("li").first()); this.hide(); }, left: function(event) { var newItem = this.activeItem.parents("li").first(); if (newItem.length) { this.activate(event, newItem); + return true; } }, right: function(event) { @@ -121,6 +120,7 @@ $.widget("ui.flyoutmenu", { if (newItem.length) { this._open(newItem.parent()); this.activate(event, newItem); + return true; } }, activate: function(event, item) { @@ -135,12 +135,6 @@ $.widget("ui.flyoutmenu", { show: function() { this.active = this.element; this.element.show(); - if (this.element.hasClass("ui-menu-flyout")) { - $(document).one("click", function() { - //clicking outside menu flyouts should close all flyouts - //$(document).find(".ui-menu-flyout").hide(); - }) - } }, hide: function() { this.activeItem = this.element.children("li").first(); |