如何覆盖用户为 HTML 颜色输入选择的值



我正在制作一个网络应用程序来控制一组 LED,但我在更改 HTML 颜色输入中显示的颜色时遇到了一些问题。我需要近乎实时地向用户展示 LED 的当前颜色,因为它可能会因其他因素而发生变化。

我可以使用obj.setAttribute("值",颜色(来设置始终有效的输入颜色,但是输入的实际颜色仅在用户尚未选择颜色时才更改。换句话说,输入元素的颜色仅在用户选择颜色之前反映"value"属性,之后显示的颜色始终是用户选择的颜色。

setInterval(setColor, 500);
function setColor() {
document.getElementById("color")
.setAttribute("value", '#'+Math.floor(Math.random() * 16777215).toString(16));
}
<html>
<body>
<input type="color" id="color" value="#000000">
</body>
</html>

我希望能够在需要时更改颜色输入元素上显示的实际颜色。这可能吗?

尝试:

setInterval(setColor, 500);
function setColor() {
document.getElementById("color").value = '#' + Math.floor(Math.random() * 16777215).toString(16);
}

使用元素的 .value 而不是设置属性。

setInterval(setColor, 500);
function setColor() {
document.getElementById("color")
.value = '#'+Math.floor(Math.random() * 16777215).toString(16);
}
<html>
<body>
<input type="color" id="color" value="#000000">
</body>
</html>

最新更新