html按钮禁用状态由disabled布尔属性控制,存在即禁用;启用必须移除该属性或设dom属性btn.disabled=false,不可用setattribute修改;disabled属性影响表单提交、事件触发及可访问性。

HTML 按钮的禁用状态通过 disabled 属性控制,它是一个布尔属性——存在即生效,不存在即启用,不依赖值的内容。
如果你写成 <button disabled>提交</button>,它依然被禁用。因为浏览器只看 disabled 这个属性名是否出现在标签里,不管后面等号右边是什么。
要让按钮恢复可用,不能靠改属性值,必须彻底移除 disabled 属性,或者用 JavaScript 设置其 DOM 属性为 false:
- ✅ 正确启用方式:
btn.disabled = false - ❌ 错误启用方式:
btn.setAttribute('disabled', '')或btn.setAttribute('disabled', 'false')—— 这些只是改了 HTML 字符串,没改变 DOM 的真实状态
同样,禁用时也推荐直接赋值:
- ✅
btn.disabled = true - ✅ 初始写法
<button disabled></button>或<button disabled></button>
注意区分:
-
disabled是 DOM 属性(property),实时控制行为; -
disabled作为 HTML 属性(attribute)只影响初始状态,JS 动态操作必须走 DOM 属性。
表单提交时,带 disabled 的按钮不会提交任何值,也不会触发 click、focus 等事件,且自动从键盘 Tab 流中排除——这是语义和可访问性的关键保障。
小提示:不要用 class 模拟禁用,比如加 .is-disabled 再配 CSS。那样只能骗眼睛,拦不住点击、提交或屏幕阅读器。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











