我正在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);
}
当我运行我的应用程序时,我可以看到字段中的值在我选择颜色时会发生变化但由于某种原因它不会调用该函数。如果我在值中添加一个字符并将其删除,那么它会调用该函数。
任何有用的帮助!
答案 0 :(得分:1)
设置input.value = ...
时,不会触发change
事件。仅当用户通过实际文本框更改值时才会发生这种情况。您可以自己手动触发,但在这种情况下,您只需拨打getBgColor()
即可。