0

コピー機能は次のことを行います。ユーザーがテキスト領域に@を入力すると、divが表示され、キーワードの配列からの提案がdivに入力されます。divにスペースが入力されるまで、@の後に入力されたものと一致する配列エントリ。コピー機能は、テキスト領域のonkeyupイベントに付加されます

突然、ブラウザはコピー機能が定義されていないと報告します。これは私が見逃している構文エラーである可能性があると思います。私は自分のコードを何億回も見てきましたが、間違いを見つけることはできません。

function copy()
{
    var ta = document.getElementById("ta") ;
    var taarray = ta.value.split(" ") ;
    var lastword = taarray[taarray.length - 1] ;
    document.getElementById('selector').innerHTML = " " ;
    if (lastword.indexOf("@") == 0)
    {       
        selector1(); // Function that makes the div visible
        if (lastword.substr(1).length > 0)
        {
            var f = 0 ;
            while (f <= friends.length )
            {
                if (friends[f].toLowerCase().indexOf(lastword.substr(1).toLowerCase()) != -1)
                {                   
                    var x ;
                    x = "<a onmouseover=projectImage('" + friends[f].split(|)[1] + "') onclick=tagfriend('" + friends[f].split("|")[1] + "')  >" ;
                    x += friends[f].split("|")[0] ;
                    x += "</a>" ;                                       
                    document.getElementById('selector').innerHTML = x + "<br />" ;
                }
                f++ ;           
            }
        }
    }
    else
    {
    }
}
4

1 に答える 1

1

関数を「copy」(小文字)として定義したため、「Copy」は未定義であるというエラーが表示されます。JS では、変数名と関数名は大文字と小文字が区別されます。しかし、これはコメントで示唆されているように、他の多くのエラーの 1 つにすぎません。このような問題を解決するには、JSLint などのデバッグ ツールの使用を検討する必要があります。

于 2012-12-26T19:44:22.220 に答える