r2764 - made sure_safemouseup toggling only occurs for popup style menus, and that a mouseover on...
Author: scottjehl
Date: Mon Jun 15 08:30:59 2009
New Revision: 2764
Modified:
branches/labs/selectmenu/ui.selectmenu.js
Log:
made sure_safemouseup toggling only occurs for popup style menus, and that
a mouseover on a non-selected option will enable mouseup to fire even if
the timeout hasn't finished.
Modified: branches/labs/selectmenu/ui.selectmenu.js
==============================================================================
--- branches/labs/selectmenu/ui.selectmenu.js (original)
+++ branches/labs/selectmenu/ui.selectmenu.js Mon Jun 15 08:30:59 2009
@@ -46,8 +46,10 @@
self._closeOthers();
self._toggle();
//make sure a click won't open/close instantly
- self._safemouseup = false;
- setTimeout(function(){self._safemouseup = true;}, 500);
+ if(o.style == "popup"){
+ self._safemouseup = false;
+ setTimeout(function(){self._safemouseup = true;}, 500);
+ }
return false;
})
.bind('click',function(){
@@ -120,6 +122,10 @@
$(this).parent().find('.ui-selectmenu-item-selected').addClass(activeClass);
$(this).parent().find('.ui-selectmenu-item-focus').removeClass('ui-selectmenu-item-focus
ui-state-hover');
$(this).removeClass('ui-state-active').addClass('ui-selectmenu-item-focus
ui-state-hover');
+ //if it's a popup menu, if the hovered item isn't selected, let the
mouseup event fire
+ if(o.style == "popup" && !$(this).is('.ui-selectmenu-item-selected')){
+ self._safemouseup = true;
+ }
})
.bind('mouseout blur', function(){
if($(this).is('.ui-selectmenu-item-selected')){
$(this).addClass(activeClass); }