在<input />随机颜色中给每个单词

时间:2009-06-05 07:12:04

标签: javascript html xhtml

如何以<input>随机颜色

给出每个单词

4 个答案:

答案 0 :(得分:5)

您无法更改<input>字段内的文字颜色。但是,您可以在其下创建DIV或按照上一个答案中的建议覆盖它。

以下是使用Plain Old Javascript进行此操作的示例。

<html>
<head>
<title>Random Colors</title>
<script>
window.onload = function(){
  var mytextbox = document.getElementById("mytext");
  mytextbox.onblur = function(){
     var words = mytextbox.value.split(' ');
     var myDiv = document.getElementById("divText");
     myDiv.innerHTML = '';
     for(i = 0, len = words.length; i<len;i++){
        myDiv.innerHTML += '<span>' + words[i] + '</span>&nbsp;';
     }
     var spans = myDiv.getElementsByTagName('span');
     for(i = 0, len = spans.length; i<len; i++){
        spans[i].style.color = random_color();
     }
  }
}
function random_color()
{
   var rint = Math.round(0xffffff * Math.random());
   return ('#0' + rint.toString(16)).replace(/^#0([0-9a-f]{6})$/i, '#$1');  
}
</script>
</head>
<body>
<input type="text" id="mytext" />
<div id="divText"></div>
</body>
</html>

随机颜色函数Source

答案 1 :(得分:4)

我认为这不可能。

你可以在它上面叠加文字,但是你会进入那里的每日英国领域。

答案 2 :(得分:0)

您可以使用div而不是输入。

然后给它CSS属性,使其看起来像一个输入。

如果您的浏览器受众允许,请使用contentEditable属性对其进行编辑(现代浏览器和IE支持的HTML5)。

但是我想你必须建立类似富文本编辑器“la”google docs的东西,让你的用户改变颜色,这将保证你有一些有趣的工作时间;)

答案 3 :(得分:0)

使用YUI EditorFCKEditor

之类的内容