@@ -100,6 +100,33 @@ jQuery.Callbacks = function( flags, filter ) {
100
100
}
101
101
}
102
102
} ,
103
+ fire = function ( context , args ) {
104
+ args = args || [ ] ;
105
+ memory = ! flags . memory || [ context , args ] ;
106
+ firing = true ;
107
+ firingIndex = firingStart || 0 ;
108
+ firingStart = 0 ;
109
+ firingLength = list . length ;
110
+ for ( ; list && firingIndex < firingLength ; firingIndex ++ ) {
111
+ if ( list [ firingIndex ] [ 1 ] . apply ( context , args ) === false && flags . stopOnFalse ) {
112
+ memory = true ; // Mark as halted
113
+ break ;
114
+ }
115
+ }
116
+ firing = false ;
117
+ if ( list ) {
118
+ if ( ! flags . once ) {
119
+ if ( stack && stack . length ) {
120
+ memory = stack . shift ( ) ;
121
+ object . fireWith ( memory [ 0 ] , memory [ 1 ] ) ;
122
+ }
123
+ } else if ( memory === true ) {
124
+ object . disable ( ) ;
125
+ } else {
126
+ list = [ ] ;
127
+ }
128
+ }
129
+ } ,
103
130
object = {
104
131
// Add a callback or a collection of callbacks to the list
105
132
add : function ( ) {
@@ -116,10 +143,8 @@ jQuery.Callbacks = function( flags, filter ) {
116
143
// we should call right away, unless previous
117
144
// firing was halted (stopOnFalse)
118
145
} else if ( memory && memory !== true ) {
119
- var tmp = memory ;
120
- memory = undefined ;
121
146
firingStart = length ;
122
- object . fireWith ( tmp [ 0 ] , tmp [ 1 ] ) ;
147
+ fire ( memory [ 0 ] , memory [ 1 ] ) ;
123
148
}
124
149
}
125
150
return this ;
@@ -197,31 +222,7 @@ jQuery.Callbacks = function( flags, filter ) {
197
222
stack . push ( [ context , args ] ) ;
198
223
}
199
224
} else if ( ! ( flags . once && memory ) ) {
200
- args = args || [ ] ;
201
- memory = ! flags . memory || [ context , args ] ;
202
- firing = true ;
203
- firingIndex = firingStart || 0 ;
204
- firingStart = 0 ;
205
- firingLength = list . length ;
206
- for ( ; list && firingIndex < firingLength ; firingIndex ++ ) {
207
- if ( list [ firingIndex ] [ 1 ] . apply ( context , args ) === false && flags . stopOnFalse ) {
208
- memory = true ; // Mark as halted
209
- break ;
210
- }
211
- }
212
- firing = false ;
213
- if ( list ) {
214
- if ( ! flags . once ) {
215
- if ( stack && stack . length ) {
216
- memory = stack . shift ( ) ;
217
- object . fireWith ( memory [ 0 ] , memory [ 1 ] ) ;
218
- }
219
- } else if ( memory === true ) {
220
- object . disable ( ) ;
221
- } else {
222
- list = [ ] ;
223
- }
224
- }
225
+ fire ( context , args ) ;
225
226
}
226
227
}
227
228
return this ;
0 commit comments