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

标签 javascript addeventlistener matchmedia

我正在使用 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());

最佳答案

来自文档 - https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/addListener

A function or function reference representing the callback function you want to run when the media query status changes.



应该是 change事件。 https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/onchange .
const mql = window.matchMedia("(prefers-color-scheme: dark)");

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

关于javascript - matchMedia().addListener 标记为已弃用,addEventListener 等效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56466261/

相关文章:

javascript - Android 和 iPhone 拖动(touchmove、sweep)

php - HTML 自定义 Select 标签

javascript - 从 Chrome 扩展中 Hook Websocket

javascript - 事件监听器未触发?

javascript - 根据窗口宽度在 Superfish 和 FlexNav 之间切换

javascript - 使用 Protractor 和 Angular 带模态测试登录对话框时出现超时错误

javascript - 删除后重新添加事件监听器--Javascript

javascript - promise 和 MatchMedia 订单

javascript - window.matchMedia 即使存在媒体查询也不会改变

javascript - 如何扩大这个圆圈以充满过渡的屏幕?