【问题标题】:Change Text Color if match found automatically JavaScript|HTML如果自动找到匹配,则更改文本颜色 JavaScript|HTML
【发布时间】:2019-05-11 03:42:15
【问题描述】:

我有一个文本区域,我想自动更改颜色

例如:这是我的笔,我的朋友

只要我输入上面的文字,keyword=pen 应该变成绿色并且 keyword=freind 应该会在匹配后立即变为红色

我如何实现这个东西

代码正在运行,但运行了一半

function changeText() 
{
        document.getElementById("text").style.color ="green";
}
</script>

我有另一个代码但不工作

 var str = 'Connect'; 
    var value = str.includes('Connect'); 

    if(value==str)
    {
        document.getElementById("text").style.color ="green"; 
    }
    else
    {
        document.getElementById("text").style.color ="red";
    }

【问题讨论】:

  • 简单调试语句:console.log(value, str, value==str)

标签: javascript html


【解决方案1】:

不,您不能在文本区域或文本输入中执行此操作。任何与 CSS 文本相关的属性都会影响 textarea/input 中的整个文本,而不仅仅是一个单词。

查看更多信息:Multicolor Text Highlighting in a Textarea or Text Input

【讨论】:

  • 如果你用标准的 div 欺骗了一个文本框,你可以。就像 selectize.js 如何欺骗选择框一样。
  • 这家伙是新手,我想他很难得到这个
  • 当然。而不是我们为他们编写代码的工作。你的说法是正确的,所以我会加上。
【解决方案2】:

首先,您需要检测文本区域的变化。查看element.addEventListener()change 事件。然后检查文本区域中的文本。你有很多选择,但最简单的是string.includes()。如果它返回true,请调用您的函数将文本变为绿色。

【讨论】:

  • 因为我是 javascript 新手,任何人都可以提供演示代码
猜你喜欢
  • 1970-01-01
  • 2017-07-21
  • 1970-01-01
  • 2022-01-24
  • 2018-02-15
  • 2019-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多