Spinner: Keep the focus on the text field even when using the buttons.

This commit is contained in:
Scott González 2011-08-06 15:07:34 -04:00
parent fb5cad37ce
commit 64cdaa82e6

View File

@ -62,9 +62,7 @@ $.widget( "ui.spinner", {
.wrap( this._uiSpinnerHtml() ) .wrap( this._uiSpinnerHtml() )
.parent() .parent()
// add buttons // add buttons
.append( this._buttonHtml() ) .append( this._buttonHtml() );
// add behaviors
.disableSelection();
this._hoverable( uiSpinner ); this._hoverable( uiSpinner );
this.element.attr( "role", "spinbutton" ); this.element.attr( "role", "spinbutton" );
@ -108,6 +106,12 @@ $.widget( "ui.spinner", {
.removeClass( "ui-corner-all" ); .removeClass( "ui-corner-all" );
this._bind( this.buttons, { this._bind( this.buttons, {
mousedown: function( event ) { mousedown: function( event ) {
// ensure focus is on (or stays on) the text field
event.preventDefault();
if ( document.activeElement !== this.element[ 0 ] ) {
this.element.focus();
}
if ( this._start( event ) === false ) { if ( this._start( event ) === false ) {
return; return;
} }