明明定义了鼠标移上事件,可是运行时却直接变更背景颜色,为什么?
window.onload = function(){
// 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
function changec(obj)
{ obj.style.backgroundColor ="#f2f2f2";
}
var row = document.getElementsByTagName("tr");
for (var i=0;i<row.length;i++)
{ row[i].onmouseover=changec(row[i]);
}
}
应该是你传了实参,所以没等事件触发就直接调用了吧
为什么我那样写却是直接运行,原因是什么?
function changec()
{ this.style.backgroundColor ="#f2f2f2";
}
var row = document.getElementsByTagName("tr");
for (var i=0;i<row.length;i++)
{ row[i].onmouseover=changec();
}
}