This repository was archived by the owner on Apr 12, 2024. It is now read-only.
File tree 2 files changed +11
-1
lines changed
2 files changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -248,7 +248,7 @@ function jqLiteDealoc(element, onlyDescendants){
248
248
249
249
if ( element . childNodes && element . childNodes . length ) {
250
250
// we use querySelectorAll because documentFragments don't have getElementsByTagName
251
- var descendants = element . getElementsByTagName ? element . getElementsByTagName ( '*' ) :
251
+ var descendants = element . getElementsByTagName ? sliceArgs ( element . getElementsByTagName ( '*' ) ) :
252
252
element . querySelectorAll ? element . querySelectorAll ( '*' ) : [ ] ;
253
253
for ( var i = 0 , l = descendants . length ; i < l ; i ++ ) {
254
254
jqLiteRemoveData ( descendants [ i ] ) ;
Original file line number Diff line number Diff line change @@ -535,6 +535,16 @@ describe('jqLite', function() {
535
535
browserTrigger ( span ) ;
536
536
expect ( log ) . toEqual ( 'click;' ) ;
537
537
} ) ;
538
+
539
+ it ( 'should work if the descendants of the element change while it\'s being removed' , function ( ) {
540
+ var div = jqLite ( '<div><p><span>text</span></p></div>' ) ;
541
+ div . find ( 'p' ) . on ( '$destroy' , function ( ) {
542
+ div . find ( 'span' ) . remove ( ) ;
543
+ } ) ;
544
+ expect ( function ( ) {
545
+ div . remove ( ) ;
546
+ } ) . not . toThrow ( ) ;
547
+ } ) ;
538
548
} ) ;
539
549
} ) ;
540
550
You can’t perform that action at this time.
0 commit comments