0

HTML5とJSでシンプルなペイントアプリを作成しています。キャンバスの背景の色を変更できません。

カラーピッカーを呼び出す入力ボックスがあります。値が変更されたら、getBgColor()関数を呼び出して、キャンバスを更新する必要があります。しかし、関数は実行されておらず、理由はわかりません!!

入力ボックス:

 <input id = "bgcolor_select" type="text" value="Background Color" onclick="colorPicker(event)" onchange="getBgColor()"/>

値が変更されたときに入力ボックスによって呼び出される関数:

function getBgColor(){
    console.log("Bg Color: " + document.getElementById("bgcolor_select").value);
    context.fillStyle = document.getElementById("bgcolor_select").value;
    context.fillRect(0,0, canvas.width, canvas.height);
    }

アプリケーションを実行すると、色を選択するとフィールドで値が変化するのを確認できますが、何らかの理由で関数が呼び出されません。値に文字を追加して削除すると、関数が呼び出されます。

どんな助けもあります!

4

1 に答える 1

1

設定するinput.value = ...と、changeイベントは発生しません。これは、ユーザーが実際のテキストボックスを介して値を変更した場合にのみ発生します。手動で起動することもできますが、この場合はgetBgColor()代わりに呼び出すことができます。

于 2012-11-14T12:52:55.943 に答える