From 3106039aa89410c9abae9947b2520d9c8e62f8f0 Mon Sep 17 00:00:00 2001 From: John Resig Date: Sat, 7 Nov 2009 17:22:35 +0100 Subject: [PATCH] Made sure that animate callbacks get executed even when no properties are passed in. Fixes #5459. --- src/fx.js | 6 +++++- test/unit/fx.js | 12 ++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/fx.js b/src/fx.js index 24d28410..801d92c0 100644 --- a/src/fx.js +++ b/src/fx.js @@ -164,6 +164,10 @@ jQuery.fn.extend({ } }); + if ( jQuery.isEmptyObject( prop ) ) { + return optall.complete.call(this); + } + // For JS strict compliance return true; }); @@ -427,4 +431,4 @@ if ( jQuery.expr && jQuery.expr.filters ) { return elem === fn.elem; }).length; }; -} \ No newline at end of file +} diff --git a/test/unit/fx.js b/test/unit/fx.js index c47fe558..c2bf6b43 100644 --- a/test/unit/fx.js +++ b/test/unit/fx.js @@ -67,6 +67,18 @@ test("animate option (queue === false)", function () { }); */ +test("animate with no properties", function() { + expect(1); + + var divs = jQuery("div"), count = 0; + + divs.animate({}, function(){ + count++; + }); + + equals( divs.length, count, "Make sure that callback is called for each element in the set." ); +}); + test("animate duration 0", function() { expect(7);