Menu: Typeahead now accounts for leading whitespace

Fixes #10649
Closes gh-1356
This commit is contained in:
Trisha Crowley 2014-10-06 22:26:29 -04:00 committed by Scott González
parent 29c72fc256
commit c48b18b388
3 changed files with 5 additions and 3 deletions

View File

@ -75,7 +75,7 @@
<li class="foo">Salzburg</li> <li class="foo">Salzburg</li>
</ul> </ul>
</li> </li>
<li class="foo">Saarland</li> <li class="foo"> Saarland</li>
<li>Salzburg <li>Salzburg
<ul> <ul>
<li>Delphi <li>Delphi

View File

@ -609,7 +609,7 @@ asyncTest( "handle keyboard navigation and mouse click on menu with dividers and
}); });
asyncTest( "handle keyboard navigation with spelling of menu items", function() { asyncTest( "handle keyboard navigation with spelling of menu items", function() {
expect( 2 ); expect( 3 );
var element = $( "#menu2" ).menu({ var element = $( "#menu2" ).menu({
focus: function( event ) { focus: function( event ) {
log( $( event.target ).find( ".ui-state-focus" ).index() ); log( $( event.target ).find( ".ui-state-focus" ).index() );
@ -624,6 +624,8 @@ asyncTest( "handle keyboard navigation with spelling of menu items", function()
equal( logOutput(), "keydown,0,1,3", "Keydown focus Addyston by spelling the first 3 letters" ); equal( logOutput(), "keydown,0,1,3", "Keydown focus Addyston by spelling the first 3 letters" );
element.simulate( "keydown", { keyCode: 68 } ); element.simulate( "keydown", { keyCode: 68 } );
equal( logOutput(), "keydown,0,1,3,4", "Keydown focus Delphi by repeating the 'd' again" ); equal( logOutput(), "keydown,0,1,3,4", "Keydown focus Delphi by repeating the 'd' again" );
element.simulate( "keydown", { keyCode: 83 } );
equal( logOutput(), "keydown,0,1,3,4,5", "Keydown focus Saarland ignoring leading space" );
start(); start();
}); });
element[ 0 ].focus(); element[ 0 ].focus();

View File

@ -638,7 +638,7 @@ return $.widget( "ui.menu", {
// Only match on items, not dividers or other content (#10571) // Only match on items, not dividers or other content (#10571)
.filter( ".ui-menu-item" ) .filter( ".ui-menu-item" )
.filter(function() { .filter(function() {
return regex.test( $( this ).text() ); return regex.test( $.trim( $( this ).text() ) );
}); });
} }
}); });