javascript - 我可以手动更改吗DOM与本机JS的实际可显示颜色?
问题描述
我正在开发一个渐变生成器,并且有一个随机化按钮,可以从两种随机颜色创建一个新的渐变。问题是随机函数绕过并自行生成。我想为输入分配新的颜色值,以便用户看到刚刚生成的“随机化”按钮的颜色,并根据需要进行更改。
我见过有人遇到同样的问题,StackOverflow 用户的帮助解决了,但问题是我使用的是原生 JS,而他使用的是 jQuery 库。
这是他的解决方案:
$("#click").click(function () {
$("#test").val("#ff66ff");
});
但我需要一个不使用任何库的解决方案。只需提供一行代码,即可更改输入的实际颜色。
这是另外两个屏幕截图,因此您可以看到我想要做什么:
点击前
后
解决方案
像这样?
document.getElementById("click").addEventListener("click", function () {
document.getElementById("test").value = "#ff66ff"
});
<input id="test" type="color"/> <button id="click">Click</button>
也许这个更通用的版本。如果不想使用innerHTML,可以使用数据属性
document.getElementById("container").addEventListener("click", function (e) {
let tgt = e.target;
if (tgt.tagName==="BUTTON") {
tgt.previousElementSibling.value = tgt.innerHTML;
}
});
<div id="container">
<input type="color"/> <button class="click">#ffaaff</button><br/>
<input type="color"/> <button class="click">#ffffaa</button><br/>
<input type="color"/> <button class="click">#66ffff</button><br/>
</div>
推荐阅读
- elasticsearch - Elastic Search 对一个文档执行计算
- java - 无法映射枚举值时如何配置 MapStruct 以引发异常
- linux - 在两台机器上的 GNU/Linux 上唤醒 WLAN:一台工作,另一台不工作
- excel - 在 var 中存储日期时出现运行时错误“6”溢出
- php - 如何使用 Symfony 客户端重命名 webdav 集合?
- ubuntu - .net core mvc API 使用 NGINX 反向代理部署在 UBUNTU 上,POST 请求抛出 404 错误
- javascript - 用javascript递归计算两个数的GCD
- flutter - 基于 FIFO 删除 Firestore 条目
- laravel - 如何在颤振中发出本地 http 请求?
- c# - .NET 中的 DateTime.UtcNow.Ticks 是否符合任何标准?