我无法通过javascript添加eventListener。好的,我有一个创建4个锚元素的函数。我想添加一个事件给他们onmouseover,它调用一个函数来改变他们的背景颜色。下面的代码(看旁边createAnchor的最后一行()来找到相关的代码行。使用Javascript添加事件侦听器DOM
function createAanchor(index) {
var a = document.createElement("a");
var text = getText(index);
var a = document.createElement("a");
var t = document.createTextNode(text);
a.href = getHref(index);
a.appendChild(t);
a.style.textAlign = "center";
a.style.fontSize = "1.2em";
a.style.color = "white";
a.style.fontFamily = "arial";
a.style.fontWeight = "bold";
a.style.textDecoration = "none";
a.style.lineHeight = "238px";
a.style.width = "238px";
a.style.margin = "5px";
a.style.background = eightColors(index);
a.style.position = "absolute";
a.addEventListener("onmouseover", changeColor());
return a;
}
function changeColor() {
alert("EVENT WORKING");
}
确定这里就是问题所在。当函数到达a.addEventListener("onmouseover", changeColor());
的function changeColors()
执行,但它并不以后执行在onmouseover
这是为什么?
P.S.我也尝试了'a.onmouseover = changeColor();'它给出了与'a.addEventListener(“onmouseover”,changeColor())相同的结果;' – Chakotay 2013-03-22 22:43:54