diff --git a/js/display/drawables/CircleDOMDrawable.js b/js/display/drawables/CircleDOMDrawable.js index f7fbf522b..3d5e75f5d 100644 --- a/js/display/drawables/CircleDOMDrawable.js +++ b/js/display/drawables/CircleDOMDrawable.js @@ -48,10 +48,12 @@ define( require => { // allocation and performance costs) if ( !this.fillElement || !this.strokeElement ) { // @protected {HTMLDivElement} - Will contain the fill by manipulating borderRadius - const fillElement = this.fillElement = document.createElement( 'div' ); + const fillElement = document.createElement( 'div' ); + this.fillElement = fillElement; // @protected {HTMLDivElement} - Will contain the stroke by manipulating borderRadius - const strokeElement = this.strokeElement = document.createElement( 'div' ); + const strokeElement = document.createElement( 'div' ); + this.strokeElement = strokeElement; fillElement.style.display = 'block'; fillElement.style.position = 'absolute'; diff --git a/js/display/drawables/RectangleDOMDrawable.js b/js/display/drawables/RectangleDOMDrawable.js index ae55644ba..e94b91dba 100644 --- a/js/display/drawables/RectangleDOMDrawable.js +++ b/js/display/drawables/RectangleDOMDrawable.js @@ -41,14 +41,16 @@ define( require => { // only create elements if we don't already have them (we pool visual states always, and depending on the platform may also pool the actual elements to minimize // allocation and performance costs) if ( !this.fillElement || !this.strokeElement ) { - const fillElement = this.fillElement = document.createElement( 'div' ); + const fillElement = document.createElement( 'div' ); + this.fillElement = fillElement; fillElement.style.display = 'block'; fillElement.style.position = 'absolute'; fillElement.style.left = '0'; fillElement.style.top = '0'; fillElement.style.pointerEvents = 'none'; - const strokeElement = this.strokeElement = document.createElement( 'div' ); + const strokeElement = document.createElement( 'div' ); + this.strokeElement = strokeElement; strokeElement.style.display = 'block'; strokeElement.style.position = 'absolute'; strokeElement.style.left = '0'; diff --git a/js/display/drawables/TextSVGDrawable.js b/js/display/drawables/TextSVGDrawable.js index a4992d495..808ffcaf5 100644 --- a/js/display/drawables/TextSVGDrawable.js +++ b/js/display/drawables/TextSVGDrawable.js @@ -41,7 +41,8 @@ define( require => { if ( !this.svgElement ) { // @protected {SVGTextElement} - Sole SVG element for this drawable, implementing API for SVGSelfDrawable - const text = this.svgElement = document.createElementNS( scenery.svgns, 'text' ); + const text = document.createElementNS( scenery.svgns, 'text' ); + this.svgElement = text; text.appendChild( document.createTextNode( '' ) ); // TODO: flag adjustment for SVG qualities diff --git a/js/overlays/ShapeBasedOverlay.js b/js/overlays/ShapeBasedOverlay.js index 25dcc5e83..fdfde82d9 100644 --- a/js/overlays/ShapeBasedOverlay.js +++ b/js/overlays/ShapeBasedOverlay.js @@ -18,12 +18,13 @@ define( require => { this.display = display; this.rootNode = rootNode; - const svg = this.svg = document.createElementNS( scenery.svgns, 'svg' ); + const svg = document.createElementNS( scenery.svgns, 'svg' ); svg.style.position = 'absolute'; svg.setAttribute( 'class', name ); svg.style.top = 0; svg.style.left = 0; svg.style[ 'pointer-events' ] = 'none'; + this.svg = svg; function resize( width, height ) { svg.setAttribute( 'width', width );