我有一段代码可以在用户点击文本时更改文本颜色。但在用户单击文本之前,文本颜色会发生变化。 似乎在用户执行之前调用了click事件! 请告诉我这里我做错了什么?
var div = document.getElementById("div1"); // there is html div inside of html file with id "div1"
div.innerHTML = "Hello world";
function colorChange(id){
document.getElementById(id).style.color="red";
};
div.addEventListener("click",colorChange("div1"));
答案 0 :(得分:3)
在创建事件处理程序时,您实际上是调用函数。
请注意您的代码div.addEventListener('click', colorChange('div1'))
< - 这是因为您有()
paranthesis(调用该函数)。
您需要传入匿名函数。
div.addEventListener("click", function () {
colorChange("div1")
});