ronrupp
ronrupp

Reputation: 73

window.matchMedia does not work in Safari

Why does the following code not work in Safari?

window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
 console.log('theme changed');
});

Upvotes: 4

Views: 2368

Answers (1)

Barthy
Barthy

Reputation: 3231

As noted here on caniuse.com and here on mozilla.org, MediaQueryList.addEventListener doesn't work in Safari and IE, however you can use MediaQueryList.addListener:

Older browsers should use addListener instead of addEventListener since MediaQueryList only inherits from EventTarget in newer browsers. [source]

Upvotes: 6

Related Questions