最简单方式是直接使用HTML5的input[type="color"],浏览器自动渲染系统级选择器;默认值需为7位十六进制(如"#ff0000"),支持input/change事件,value始终返回标准#rrggbb格式。
最简单的方式是直接使用HTML5的input元素,设置type="color"。浏览器会自动渲染为系统级颜色选择器(如Chrome显示色轮+调色板),无需额外JS库。
关键点:
给input绑定事件,就能实时捕获用户选择的颜色。常用场景包括预览、存入配置、更新样式等。
示例代码:
const colorInput = document.querySelector('input[type="color"]');
colorInput.addEventListener('input', (e) => {
const hex = e.target.value; // 如 "#3a86ff"
document.body.style.backgroundColor = hex;
console.log('当前颜色:', hex);
});
注意:input事件比change更灵敏,适合做实时反馈;若只需最终结果,用change即可。
虽然input.value只返回十六进制,但常需转为RGB、HSL或数值数组用于计算或动画。
简
易转换方法(无依赖):
原生color input不支持键盘输入或清空。如需增强体验,可搭配文本框 + 按钮:
基本上就这些。不复杂但容易忽略细节,比如格式兼容性和事件选择。用好原生能力,再按需扩展,就能做出轻量又实用的颜色选择器。