Skip to content

Commit b52d361

Browse files
committed
refactor: check if wrapper is still in body, remove listener if detached
1 parent 4512ec1 commit b52d361

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/lib/DocsSearchBar.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,13 @@ class DocsSearchBar {
187187
isSystemInDarkMode = mediaQueryList.matches
188188

189189
const listener = function (e) {
190-
wrapper.setAttribute('data-ds-theme', e.matches ? 'dark' : 'light')
190+
if (document.body.contains(wrapper)) {
191+
wrapper.setAttribute('data-ds-theme', e.matches ? 'dark' : 'light')
192+
} else if (mediaQueryList.removeEventListener) {
193+
mediaQueryList.removeEventListener('change', listener)
194+
} else if (mediaQueryList.removeListener) {
195+
mediaQueryList.removeListener(listener)
196+
}
191197
}
192198
if (mediaQueryList.addEventListener) {
193199
mediaQueryList.addEventListener('change', listener)

0 commit comments

Comments
 (0)