作者:丁城雨 | 来源:互联网 | 2023-01-29 18:53
我有一个带有onchange标签的HTML开关,它应该bgColor
使用参数运行Javascript函数,this
但每当我尝试使用它时,它都会给我一个错误:Uncaught TypeError: bgColor is not a function
.有任何想法吗?
HTML
Blue
Gray
Javascript的
// The following is for changing graph color
var graphColor = "blue";
var graphBgColor = "rgba(106, 154, 177, 0.3)";
var graphBorderColor = "rgb(99, 121, 132)";
function bgColor(s) {
graphColor = $(s).val();
graphBgColor = graphColor == "blue" ? "rgba(106, 154, 177, 0.3)" : "rgba(0, 0, 255, 0.3)";
graphBorderColor = graphColor == "blue" ? "rgb(99, 121, 132)" : "rgb(0, 0, 255)";
update_temp_and_time();
}
任何帮助,将不胜感激.谢谢!
1> T.J. Crowder..: 为该功能使用不同的名称.onxyz
运行-attribute样式事件处理程序代码的环境有几个with
子句(有效地)将元素(以及其他一些东西)的所有属性放在范围*中,优先于全局变量.有一个旧的,不再标准的属性调用bgColor
元素,这会影响你的全局函数.
另一个名字(如setBackgroundColor
)将起作用:
// The following is for changing graph color
var graphColor = "blue";
var graphBgColor = "rgba(106, 154, 177, 0.3)";
var graphBorderColor = "rgb(99, 121, 132)";
function setBackgroundColor(s) {
graphColor = $(s).val();
graphBgColor = graphColor == "blue" ? "rgba(106, 154, 177, 0.3)" : "rgba(0, 0, 255, 0.3)";
graphBorderColor = graphColor == "blue" ? "rgb(99, 121, 132)" : "rgb(0, 0, 255)";
update_temp_and_time();
}
function update_temp_and_time() {
console.log("graphColor = " + graphColor);
}
Blue
Gray