mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Callbacks: Disabling a callback should prevent firing
Thanks to @TheDistantSea for the report! Fixes gh-1790 Closes gh-1643
This commit is contained in:
parent
906caebb3f
commit
bc1cb122db
@ -151,8 +151,10 @@ jQuery.Callbacks = function( options ) {
|
||||
},
|
||||
// Remove all callbacks from the list
|
||||
empty: function() {
|
||||
if ( list ) {
|
||||
list = [];
|
||||
firingLength = 0;
|
||||
}
|
||||
return this;
|
||||
},
|
||||
// Have the list do nothing anymore
|
||||
|
@ -340,3 +340,18 @@ test( "jQuery.Callbacks() - adding a string doesn't cause a stack overflow", fun
|
||||
|
||||
ok( true, "no stack overflow" );
|
||||
});
|
||||
|
||||
test( "jQuery.Callbacks() - disabled callback doesn't fire (gh-1790)", function() {
|
||||
|
||||
expect( 1 );
|
||||
|
||||
var cb = jQuery.Callbacks(),
|
||||
fired = false,
|
||||
shot = function() { fired = true; };
|
||||
|
||||
cb.disable();
|
||||
cb.empty();
|
||||
cb.add( shot );
|
||||
cb.fire();
|
||||
ok( !fired, "Disabled callback function didn't fire" );
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user