diff --git a/source/UI/js/Menu/Menu.js b/source/UI/js/Menu/Menu.js index 492ad340..6a097167 100644 --- a/source/UI/js/Menu/Menu.js +++ b/source/UI/js/Menu/Menu.js @@ -62,10 +62,10 @@ Ox.Menu = function(options, self) { ' Ox' + Ox.toTitleCase(self.options.size) ) .on({ + click: click, mouseenter: mouseenter, mouseleave: mouseleave, mousemove: mousemove, - mouseup: mouseup, mousewheel: mousewheel }) .bindEvent({ @@ -103,6 +103,29 @@ Ox.Menu = function(options, self) { .addClass('OxBottom') .appendTo(that); + function click(event) { + var item, + position, + $target = $(event.target), + $parent = $target.parent(); + // necessary for highlight + if ($parent.is('.OxCell')) { + $target = $parent; + $parent = $target.parent(); + } + if ($target.is('.OxCell')) { + position = $parent.data('position'); + item = that.items[position]; + if (!item.options('disabled')) { + clickItem(position); + } else { + that.hideMenu(); + } + } else { + that.hideMenu(); + } + } + function clickItem(position, files) { var item = that.items[position], group = item.options('group'), @@ -245,41 +268,14 @@ Ox.Menu = function(options, self) { if ($target.is('.OxCell')) { position = $parent.data('position'); item = that.items[position]; - if (position != self.options.selected) { - if (!item.options('disabled')) { - selectItem(position); - } else { - mouseleave(); - } + if (!item.options('disabled') && position != self.options.selected) { + selectItem(position); } } else { mouseleave(); } } - function mouseup(event) { - var item, - position, - $target = $(event.target), - $parent = $target.parent(); - // necessary for highlight - if ($parent.is('.OxCell')) { - $target = $parent; - $parent = $target.parent(); - } - if ($target.is('.OxCell')) { - position = $parent.data('position'); - item = that.items[position]; - if (!item.options('disabled')) { - clickItem(position); - } else { - that.hideMenu(); - } - } else { - that.hideMenu(); - } - } - function mousewheel(e, delta, deltaX, deltaY) { var $scrollbar; if (deltaY && !$(e.target).is('.OxScrollbar')) { @@ -380,6 +376,9 @@ Ox.Menu = function(options, self) { return $('
', { 'class': 'OxScrollbar Ox' + Ox.toTitleCase(direction), html: Ox.SYMBOLS['triangle_' + direction], + click: function() { // fixme: do we need to listen to click event? + return false; + }, mousedown: function() { self.scrollSpeed = 2; return false; @@ -809,7 +808,7 @@ Ox.Menu = function(options, self) { }; /*@ - setItemTitle