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);
    }

当我运行我的应用程序时,当我选择颜色时,我可以看到字段中的值发生变化,但由于某种原因它没有调用该函数。如果我在值中添加一个字符并将其删除,那么它会调用该函数。

任何帮助appriciated!

4

1 回答 1

1

设置时,不会触发input.value = ...任何事件。change这仅在用户通过实际文本框更改值时发生。您可以自己手动触发它,但在这种情况下,您可以直接调用getBgColor()

于 2012-11-14T12:52:55.943 回答