温馨提示:本文翻译自stackoverflow.com,查看原文请点击:javascript - matchMedia().addListener marked as deprecated, addEventListener equivalent?
javascript addeventlistener matchmedia

javascript - matchMedia()。addListener标记为已弃用,addEventListener是否等效?

发布于 2020-03-27 16:10:12

我正在使用matchMedia()。addListener来检测Safari中的暗/亮模式主题首选项更改,但是在WebStorm中,使用addListener标记为已弃用,只是说要参考文档以替代它。

我已经通读了MDN文档,但我不明白我应该在addEventListener中侦听哪种事件类型来替换addListener?

window.matchMedia("(prefers-color-scheme: dark)").addListener(() => this.checkNative());
window.matchMedia("(prefers-color-scheme: light)").addListener(() => this.checkNative());

查看更多

查看更多

提问者
Matt Cowley
被浏览
96
random 2019-06-06 02:45

从文档-https: //developer.mozilla.org/zh-CN/docs/Web/API/MediaQueryList/addListener

表示您要在媒体查询状态更改时运行的回调函数的函数或函数引用。

应该是change事件。https://developer.mozilla.org/zh-CN/docs/Web/API/MediaQueryList/onchange

const mql = window.matchMedia("(prefers-color-scheme: dark)");

mql.addEventListener("change", () => {
    this.checkNative();
});