我对 addEvent(或其他我不知道的东西)有疑问。这是我的代码。
HTML:
<div style="background-color:red;height:30px;width:30px;" ></div>
<div style="background-color:yellow;height:30px;width:30px;" ></div>
JS:
function addEvent(elm,ev,fun)//Cross-browser addEvent
{
if(elm.addEventListener)elm.addEventListener(ev,fun,false);
else if(elm.attachEvent)
{
var r=elm.attachEvent("on"+ev,fun);
return r;
}
}
function myFun(x)
{
alert(x.style.backgroundColor);
}
var allDiv=document.getElementsByTagName("div");
myFun(allDiv[0]);//Here it works
for(var i=0;i<allDiv.length;i++) {
//But not here when you click the div
addEvent(allDiv[i],
"click",function(){
myFun(allDiv[i])
});
}
我希望警报有效,但不使用 ID 并且不放置内联 onclick。是否可以 ?