間違ったコード (色の値) を入力した場合、JavaScript コードに問題があり、黒でなければなりません。しかし、「blablabla」のようなものを入力すると、たとえば最後に入力したことになります。赤と書くと赤い円になりますが、その後、blablabla と書くと赤になります。間違った色の単語を書くと黒になります私はrgbコードを書かなければならないと思いますので、機能は私が書いたものが正しいか間違っているかをチェックします
function getPos(canvas, event){
var a = new Number();
var b = new Number();
var canvas= document.getElementById("can1");
if (event.a != undefined && event.b != undefined)
{
a = event.a;
b = event.b;
}
else
{
a = event.clientX + document.body.scrollLeft +
document.documentElement.scrollLeft;
b = event.clientY + document.body.scrollTop +
document.documentElement.scrollTop;
}
a -= canvas.offsetLeft;
b -= canvas.offsetTop;
var ctx = canvas.getContext("2d");
var color1 = document.getElementById('color');
var size = document.getElementById('size');
ctx.beginPath();
if ( size.value > 0)
{
ctx.arc(a,b,size.value, 275*(Math.PI/180), 635*(Math.PI/180), false);
}
else
{
ctx.arc(a,b,15, 275*(Math.PI/180), 635*(Math.PI/180), false);
}
if (color1.value.length < 0)
{
ctx.fillStyle = "#000000";
}
else if (color1.value.length == 0)
{
ctx.fillStyle = '#000000';
}
else
{
ctx.fillStyle = color1.value;
}
ctx.fill();
ctx.stroke();
ctx.closePath();
window.localStorage['IMG'] = canvas.toDataURL();
}
問題はここにあると思います:
if (color1.value.length < 0)
{
ctx.fillStyle = "#000000";
}
else if (color1.value.length == 0)
{
ctx.fillStyle = '#000000';
}
else
{
ctx.fillStyle = color1.value;
}