本文介绍如何使用
jquery
实现两个自定义样式的 toggle 开关按钮,使其保持互斥状态:任一开启时另一自动关闭,适用于单选式功能控制场景。
在
前端
开发中,有时需要模拟“单选式切换开关”(即仅允许一个处于开启状态),但原生 无法直接复用其样式逻辑(因 radio 的 name 属性绑定依赖表单结构,而自定义 toggle 常基于 checkbox + CSS 实现)。此时,通过 JavaScript 手动管理状态是更灵活可靠的方案。
以下是一个完整、可运行的实现:
✅ 核心逻辑说明
我们为两个 checkbox(#toggle-1 和 #toggle-2)绑定统一的点击事件
处理器
uncheck():当任一开关被点击时,遍历所有目标 ID 列表,将
除当前触发元素外的其他开关设为未勾选
(checked = false),从而确保二者始终互斥。
Comet AI 浏览器
下载 Comet AI 浏览器,体验由 Perplexity AI 驱动的革命性上网方式。内置 AI 助手可实时总结网页、跨标签页对比信息、自动执行任务。告别繁琐操作,让 AI 成为你的浏览副驾,大幅提升研究与工作效率。支持 Windows、macOS、Android 和 iOS。
下载
? 完整 HTML + CSS + JS 示例
⚠️ 注意事项
避免重复绑定
:若页面动态插入开关,需使用事件委托(如 $(document).on('click', '#toggle-1', ...))防止多次绑定;
无障碍支持
:当前实现已保留
互斥 Toggle 开关
