gpt4 book ai didi

javascript - 如何检测 javascript 中的偏好颜色方案更改?

转载 作者:太空宇宙 更新时间:2023-11-04 05:36:20 27 4
gpt4 key购买 nike

我可以使用 window.matchMedia 来检测用户是否处于暗模式,但是如何监听暗模式更改事件?

有没有像这样的API:

window.addEventListener('perfers-color-scheme-change', () => {
// do something
})

最佳答案

您可以在 MediaQueryList 上添加一个带有回调的事件监听器由 Window.matchMedia() 返回:

function activateDarkMode() {
// set style to dark
}

// MediaQueryList
const darkModePreference = window.matchMedia("(prefers-color-scheme: dark)");

// recommended method for newer browsers: specify event-type as first argument
darkModePreference.addEventListener("change", e => e.matches && activateDarkMode());

// deprecated method for backward compatibility
darkModePreference.addListener(e => e.matches && activateDarkMode());

注意:注册事件监听器有两种方法版本:

  1. 推荐addEventListener("change", listener))这允许对事件类型进行更细粒度的分配
  2. 已弃用 addListener(listener)

另见


感谢lukaszpolowczyk指出该方法 addListener(listener) 已被弃用并且 AsukaSong开始完全重写这个答案。

关于javascript - 如何检测 javascript 中的偏好颜色方案更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59621784/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com