diff options
author | Scott González <scott.gonzalez@gmail.com> | 2010-09-27 10:44:04 -0400 |
---|---|---|
committer | Scott González <scott.gonzalez@gmail.com> | 2010-09-27 10:44:04 -0400 |
commit | 0b6710aed7fc9a9412a975c9f70d3fd6a87c4b02 (patch) | |
tree | a56ed80d31787977587faa4e01b0d81825fba4f1 | |
parent | adcafce7a24156c503061eb354867e41064fd89f (diff) | |
download | jquery-ui-0b6710aed7fc9a9412a975c9f70d3fd6a87c4b02.tar.gz jquery-ui-0b6710aed7fc9a9412a975c9f70d3fd6a87c4b02.zip |
Progressbar: Added a complete event. Fixes #3500 - Progressbar callback at the end.
-rw-r--r-- | tests/unit/progressbar/progressbar_events.js | 21 | ||||
-rw-r--r-- | ui/jquery.ui.progressbar.js | 3 |
2 files changed, 24 insertions, 0 deletions
diff --git a/tests/unit/progressbar/progressbar_events.js b/tests/unit/progressbar/progressbar_events.js index b273cd5e9..22b301abe 100644 --- a/tests/unit/progressbar/progressbar_events.js +++ b/tests/unit/progressbar/progressbar_events.js @@ -14,4 +14,25 @@ test("change", function() { }).progressbar("value", 5); }); +test( "complete", function() { + expect( 3 ); + var changes = 0, + value; + + $( "#progressbar" ).progressbar({ + change: function() { + changes++; + same( $( this ).progressbar( "value" ), value, "change at " + value ); + }, + complete: function() { + equal( changes, 2, "complete triggered after change" ); + } + }); + + value = 5; + $( "#progressbar" ).progressbar( "value", value ); + value = 100; + $( "#progressbar" ).progressbar( "value", value ); +}); + })(jQuery); diff --git a/ui/jquery.ui.progressbar.js b/ui/jquery.ui.progressbar.js index e0b728f1a..5347e026b 100644 --- a/ui/jquery.ui.progressbar.js +++ b/ui/jquery.ui.progressbar.js @@ -64,6 +64,9 @@ $.widget( "ui.progressbar", { this.options.value = value; this._refreshValue(); this._trigger( "change" ); + if ( this._value() === this.max ) { + this._trigger( "complete" ); + } } $.Widget.prototype._setOption.apply( this, arguments ); |