Javascript EventListener由它自己引用

时间:2014-11-16 19:52:15

标签: javascript events

我有一段代码可以在用户点击文本时更改文本颜色。但在用户单击文本之前,文本颜色会发生变化。 似乎在用户执行之前调用了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"));

1 个答案:

答案 0 :(得分:3)

在创建事件处理程序时,您实际上是调用函数。 请注意您的代码div.addEventListener('click', colorChange('div1'))< - 这是因为您有() paranthesis(调用该函数)。

您需要传入匿名函数。

div.addEventListener("click", function () {
    colorChange("div1")
});