Skip to content
Permalink
Browse files

Spinner: Call _stop() on blur. Fixes #9112 - Spinner keeps changing a…

…fter losing focus.
  • Loading branch information...
scottgonzalez committed Feb 22, 2013
1 parent 1c5171c commit 2348fb8eb9ec1297a2588a23cf3447c5374bcb21
Showing with 28 additions and 0 deletions.
  1. +27 −0 tests/unit/spinner/spinner_core.js
  2. +1 −0 ui/jquery.ui.spinner.js
@@ -80,6 +80,33 @@ test( "keydown PAGE_DOWN on input, decreases value not less than min", function(
equal( element.val(), 20 );
});

asyncTest( "blur input while spinning with UP", function() {
expect( 3 );
var value,
element = $( "#spin" ).val( 10 ).spinner();

function step1() {
element.simulate( "keydown", { keyCode: $.ui.keyCode.UP } );
equal( element.val(), 11 );
setTimeout( step2, 750 );
}

function step2() {
value = element.val();
ok( value > 11, "repeating while key is down" );
element[0].blur();
setTimeout( step3, 250 );
}

function step3() {
equal( element.val(), value, "stopped repeating on blur" );
start();
}

element[ 0 ].focus();
setTimeout( step1 );
});

test( "mouse click on up button, increases value not greater than max", function() {
expect( 3 );
var element = $( "#spin" ).val( 18 ).spinner({
@@ -102,6 +102,7 @@ $.widget( "ui.spinner", {
return;
}

this._stop();
this._refresh();
if ( this.previous !== this.element.val() ) {
this._trigger( "change", event );

0 comments on commit 2348fb8

Please sign in to comment.
You can’t perform that action at this time.