比较Javascript Arrays Live和触发事件

时间:2013-02-26 22:38:14

标签: javascript regex events

**更新:

jsfiddle.net/terra823/WA6sX

我基本上希望获取文本输入并将INPUT文本与名为magic_words的数组进行比较。如果匹配,请将屏幕变为蓝色,如果匹配则将屏幕变为绿色。到目前为止,当我有一个匹配时,它会将屏幕变为蓝色,但在初始匹配后似乎还没有继续比较。如果有人知道更好的方式来编写函数 - 也许用正则表达式 - 我非常感谢帮助!

** LEGACY POST:

我正在研究一些Javascript代码,它采用用户输入的内容并将其与我拥有的数组进行比较。如果它与某些单词匹配,则会触发更改。然而,在触发所述事件之后,该部分代码我已经工作了,我希望页面返回到默认状态。换句话说,用户在默认状态下开始页面,在写入过程中,他通过从数组中键入特定单词来触发事件,一旦他继续键入,他就会返回到默认状态。这就是我对该功能所拥有的:

function handleChange(){
        var newText=input.value;
        if (newText==oldText)return; else oldText=newText;
            set(reversed, reverse(newText));
            set(count, 'You entered '+newText.length+' characters.');
            set(orig, newText);

//魔术词汇数组

        var magic_words = ["cool", "brother", "fun", "sister", "apple", "orange"];

// Screen BG

        var box = document.getElementById("box");

// splitEnds正在使用newText,并通过在SPACE中将字符串拆分将整个输入文本字符串拆分为单词

        var splitEnds = newText.split(" ");

//屏幕最初为白色

        var color = "white";

//当用户开始将屏幕变为绿色只是为了表示用户已经开始

            if(newText != " ") {
                color = "green";
            }

//查看所有magic_words的数组

            for (var i = 0; i < magic_words.length; i++) {

//查看所有INPUT字符串文本,将其分成单独的单词

                for(var x = 0; x < splitEnds.length; x++){

//如果用户已开始输入,则键入magic_word转为蓝屏

                    if(color == "white" || color == "green") 
                        if (magic_words[i] == splitEnds[x]) {
                            color = "blue"; 
                        break;
                    } 

//我需要知道的是保持分析文本的功能,如果匹配的话。现在它正在贴上蓝色

                }
            }

            box.style.backgroundColor = color;
        }

感谢任何帮助。

谢谢,最好,

1 个答案:

答案 0 :(得分:0)

我真的不确定你在寻找什么,但只是在你把它变成蓝色后再将它改回绿色。

          box.style.backgroundColor = color;
            setTimeout(function(){
                box.style.backgroundColor = 'green';
            },1000);
相关问题