我正在尝试编写一个程序,可以检测你是否插入了一个JavaScript关键字,如果你有,它将改变它的颜色,以便它会脱颖而出(它最终将提交代码,我会用它来在chromebook上进行离线调试)。但是,当它与关键字匹配时,我似乎无法更改文本字段内的文本颜色。 jsFiddle Example
以下是代码:
CSS:
#JScodeinputbox{font-family:Arial;}
#JScodeoutputbox{}
.JSfunctions{color:blue;}
HTML:
<body>
<textarea id="JScodeinputbox" wrap="logical" rows="30" cols="70" onkeyup="checkHighlight();"></textarea>
<canvas>
</canvas>
</body>
</html>
JavaScript的:
var codeInput = document.getElementsByTagName("textarea");
var keywords = new Array("var", "if");
function checkHighlight(){
var codeInput1 = codeInput[0].value;
if(codeInput1 === keywords[0]){
keywords[0].indexOf(codeInput1).className = "JSfunctions";
}
}
如果有人知道如何解决这个问题或更简单的替代方案(最好不涉及JQuery,PHP等),我们将不胜感激。
PS:我知道这不是关于它的关键,我有这个原因。当我运行其他方法时它也有效,所以我不认为它是格式化的(但它可能是)。
答案 0 :(得分:2)
您可以对此代码使用JQuery Highlight Textarea插件(来自网站的示例)
<textarea cols="50" rows="5">...</textarea>
<script>
$('textarea').highlightTextarea({
words: ['Lorem ipsum', 'vulputate']
});
</script>
问题解决了