]> source.dussan.org Git - jquery-ui.git/commitdiff
Menubar: Fixed an issue with autoExpand binding that caused the menu to close on...
authorkborchers <k_borchers@yahoo.com>
Thu, 29 Sep 2011 19:08:42 +0000 (14:08 -0500)
committerkborchers <k_borchers@yahoo.com>
Thu, 29 Sep 2011 19:23:26 +0000 (14:23 -0500)
ui/jquery.ui.menubar.js

index 9af3aa0806ea9d471981191a1c93a893edef077e..b86ba298d11f8e3ae3e8f7d607d36c325afbe9b9 100644 (file)
@@ -123,22 +123,6 @@ $.widget( "ui.menubar", {
                        .attr( "aria-haspopup", "true" )
                        .wrapInner( "<span class='ui-button-text'></span>" );
 
-                       if ( that.options.autoExpand ) {
-                               input.bind( "mouseleave.menubar", function( event ) {
-                                       that.timer = setTimeout( function() {
-                                               that._close();
-                                       }, 150 );
-                               });
-                               menu.bind( "mouseleave.menubar", function( event ) {
-                                       that.timer = setTimeout( function() {
-                                               that._close();
-                                       }, 150 );
-                               })
-                               .bind( "mouseenter.menubar", function( event ) {
-                                       clearTimeout( that.timer );
-                               });
-                       }
-
                        // TODO review if these options are a good choice, maybe they can be merged
                        if ( that.options.menuIcon ) {
                                input.addClass( "ui-state-default" ).append( "<span class='ui-button-icon-secondary ui-icon ui-icon-triangle-1-s'></span>" );
@@ -169,6 +153,15 @@ $.widget( "ui.menubar", {
                                }, 100);
                        }
                });
+               if ( that.options.autoExpand ) {
+                       that._bind( {
+                               "mouseleave .ui-menubar-item": function( event ) {
+                                       that.timer = setTimeout( function() {
+                                               that._close();
+                                       }, 150 );
+                               }
+                       });
+               }
        },
 
        _destroy : function() {