Skip to content

Commit

Permalink
Menu: Passed the original event that causes a blur through collapseAl…
Browse files Browse the repository at this point in the history
…l to blur, then trigger a blur on the menu. Fixes failing unit test provided by @rwaldron which has been included in this commit
  • Loading branch information
kborchers authored and gnarf committed Jul 19, 2011
1 parent c8a11ce commit 8224c67
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 5 deletions.
21 changes: 21 additions & 0 deletions tests/unit/menu/menu_events.js
Expand Up @@ -21,4 +21,25 @@ test("handle click on menu", function() {
equals( $("#log").html(), "1,3,2,afterclick,1,click,", "Click order not valid.");
});

test( "handle blur: click", function() {
expect( 4 );
var $menu = $( "#menu1" ).menu({
focus: function( event, ui ) {
equal( event.originalEvent.type, "click", "focus triggered 'click'" );
equal( event.type, "menufocus", "focus event.type is 'menufocus'" );

},
blur: function( event, ui ) {
console.log( event, ui );
equal( event.originalEvent.type, "click", "blur triggered 'click'" );
equal( event.type, "menublur", "blur event.type is 'menublur'" );
}
});

$menu.find( "li a:first" ).trigger( "click" );
$( "<a/>", { id: "remove"} ).appendTo("body").trigger( "click" );

$("#remove").remove();
});

})(jQuery);
12 changes: 7 additions & 5 deletions ui/jquery.ui.menu.js
Expand Up @@ -176,7 +176,7 @@ $.widget( "ui.menu", {
this._bind( document, {
click: function( event ) {
if ( !$( event.target ).closest( ".ui-menu" ).length ) {
this.collapseAll();
this.collapseAll( event );
}
}
});
Expand Down Expand Up @@ -249,7 +249,7 @@ $.widget( "ui.menu", {
var nested,
self = this;

this.blur();
this.blur( event );

if ( this._hasScroll() ) {
var borderTop = parseFloat( $.curCSS( this.element[0], "borderTopWidth", true ) ) || 0,
Expand Down Expand Up @@ -297,6 +297,8 @@ $.widget( "ui.menu", {

this.active.children( "a" ).removeClass( "ui-state-focus" );
this.active = null;

this._trigger( "blur", event, { item: this.active } );
},

_startOpening: function( submenu ) {
Expand Down Expand Up @@ -336,7 +338,7 @@ $.widget( "ui.menu", {
.position( position );
},

collapseAll: function() {
collapseAll: function( event ) {
this.element
.find( "ul" )
.hide()
Expand All @@ -346,7 +348,7 @@ $.widget( "ui.menu", {
.find( "a.ui-state-active" )
.removeClass( "ui-state-active" );

this.blur();
this.blur( event );
this.activeMenu = this.element;
},

Expand Down Expand Up @@ -470,7 +472,7 @@ $.widget( "ui.menu", {
var ui = {
item: this.active
};
this.collapseAll();
this.collapseAll( event );
this._trigger( "select", event, ui );
}
});
Expand Down

0 comments on commit 8224c67

Please sign in to comment.