使用颜色选择器更改屏幕上形状的颜色而不重新编码页面

问题描述:

我正在使用D3开发JavaScript中的程序。我已经加载了一个形状到浏览器。 现在我想通过让用户从颜色选择器中选择颜色来更改该形状的颜色。 有没有解决这个问题的纯JS解决方案?使用颜色选择器更改屏幕上形状的颜色而不重新编码页面

我把它分解成:

1)使用click事件处理(D3或jQuery的或纯JavaScript)来读取颜色值。

2)指定的颜色值,你已经使用.attr().style()绘制的形状。

希望这个简单的小提琴可能是沿着你的意图的线路:http://jsfiddle.net/wg360abt/1/

注意,这不按照通常的输入/更新/出模式。

此代码应工作

<head> 
    <style> 
     #shape{ 
      border:1px solid; 
      width:50px; 
      height:50px; 
     } 
    </style> 
    <script> 
     function update(){ 
      var shape = document.getElementById("shape") 
      var col = document.getElementById("col") 
      shape.style.backgroundColor = col.value 
     } 
     document.addEventListener("input",function(e){ 
      if(e.target.id == "col"){ 
       update() 
      } 
     }); 
    </script> 
</head> 
<body> 
    <input type = "color" id = "col" /> 
    <div id = "shape"></div> 
</body> 

上述答案略有修改的方法。希望这可以帮助你:

<input type="color" name="favcolor" value="#cccccc" id="color_pick" onchange="setColor();"/>

在功能,您可以通过选择设置颜色。

Full code:http://jsfiddle.net/d_dash/j5Lndom8/