File tree Expand file tree Collapse file tree 1 file changed +10
-6
lines changed Expand file tree Collapse file tree 1 file changed +10
-6
lines changed Original file line number Diff line number Diff line change @@ -29,22 +29,21 @@ export class HXDivElement extends HXElement {
2929 return `<style>${ shadowStyles } </style>${ shadowMarkup } ` ;
3030 }
3131
32+ $onDisconnect ( ) {
33+ this . _removeScrollListeners ( ) ;
34+ }
35+
3236 static get $observedAttributes ( ) {
3337 return [ 'scroll' ] ;
3438 }
3539
36- // FIXME: ensure 'scroll' event listener added on connect (if scroll attr present)
37- // FIXME: ensure 'scroll' event listener is removed on disconnect
38-
3940 $onAttributeChange ( attr , oldVal , newVal ) {
4041 if ( attr === 'scroll' ) {
41- // FIXME: only run if connected
4242 if ( newVal !== null ) {
4343 this . _resetScroll ( ) ;
4444 this . addEventListener ( 'scroll' , onScroll ) ;
4545 } else {
46- // FIXME: listener doesn't get removed if element disconnects
47- this . removeEventListener ( 'scroll' , onScroll ) ;
46+ this . _removeScrollListeners ( ) ;
4847 }
4948 }
5049 }
@@ -69,4 +68,9 @@ export class HXDivElement extends HXElement {
6968 this . scrollTop = 0 ;
7069 this . scrollLeft = 0 ;
7170 }
71+
72+ /** @private */
73+ _removeScrollListeners ( ) {
74+ this . removeEventListener ( 'scroll' , onScroll ) ;
75+ }
7276}
You can’t perform that action at this time.
0 commit comments