javascript - 如何在单击时将 html 颜色输入值设置为 div 颜色

标签 javascript jquery css html colors

如果单击 div,html5 颜色输入值应设置为单击的 div 颜色和背景颜色值。

我试过代码

$(function() {
  $("#changeMe").on('click', function() {
    $('#designer-javascript-color').val($(this).css("color"));
    $('#designer-javascript-backcolor').val($(this).css("background-color"));

  });

});
Selected item color:
<input type="color" id="designer-javascript-color" />
<br>Selected item background color:
<input type="color" id="designer-javascript-backcolor" />


<br/>

<div id="changeMe" style='color:white;background-color: blue'>

  click here</div>

点击 click me 后,两个输入仍然是黑色。 如何解决此问题,以便在输入中显示白色和蓝色?

测试用例位于 http://jsfiddle.net/bpc2w43w/

最佳答案

在使用之前将 rgb 值转换为十六进制:

function rgbToHex(rgb) {
  var a = rgb.split("(")[1].split(")")[0].split(",");
  return "#" + a.map(function(x) {
    x = parseInt(x).toString(16);
    return (x.length == 1) ? "0"+x : x;
  }).join("");
}


$(function () {
  $("#changeMe").on('click', function() {
    $('#designer-javascript-color').val(rgbToHex($(this).css("color")));
    $('#designer-javascript-backcolor').val(rgbToHex($(this).css("background-color")));
  });
});
<script src="http://code.jquery.com/jquery-1.11.3.js"></script>

Selected item color: <input type="color" id="designer-javascript-color" />
<br>
Selected item background color:<input type="color" id="designer-javascript-backcolor" />


<br/>

<div id="changeMe" style='color:white;background-color: blue'>

    click here</div>

关于javascript - 如何在单击时将 html 颜色输入值设置为 div 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34981213/

相关文章:

jquery - 如何在选择下拉列表中隐藏所选选项

html - 根据值更改图标颜色

javascript - 在表体上插入值后,将表体与表头对齐

javascript - jquery ajax 不发送请求

javascript - Angular中加载dom后的回调函数

javascript - 如何将一个数组与另一个数组匹配,但在javascript中保存匹配元素

javascript - 如果我选择第一个复选框然后禁用所有剩余的复选框

javascript - 如何从异步调用返回响应?

css - 在 Kendo UI 网格列标题上添加悬停文本

选择时的 jQuery 过滤器