浏览代码

Merge pull request #16880 from Mugen87/dev35

Object3D: Dispatch event in .add()/.remove() when operation is done.
Mr.doob 6 年之前
父节点
当前提交
127b3f2dd8
共有 1 个文件被更改,包括 3 次插入4 次删除
  1. 3 4
      src/core/Object3D.js

+ 3 - 4
src/core/Object3D.js

@@ -389,10 +389,10 @@ Object3D.prototype = Object.assign( Object.create( EventDispatcher.prototype ),
 			}
 
 			object.parent = this;
-			object.dispatchEvent( { type: 'added' } );
-
 			this.children.push( object );
 
+			object.dispatchEvent( { type: 'added' } );
+
 		} else {
 
 			console.error( "THREE.Object3D.add: object not an instance of THREE.Object3D.", object );
@@ -422,11 +422,10 @@ Object3D.prototype = Object.assign( Object.create( EventDispatcher.prototype ),
 		if ( index !== - 1 ) {
 
 			object.parent = null;
+			this.children.splice( index, 1 );
 
 			object.dispatchEvent( { type: 'removed' } );
 
-			this.children.splice( index, 1 );
-
 		}
 
 		return this;