问答详情
源自:9-22 编程练习

为什么鼠标移开和鼠标放置两个事件的绑定一定要再用一个函数打包才能有变色效果,像我这样直接写在onload事件中就只会有最后一行变色。

window.onload = function(){
    var lines = document.getElementsByTagName("tr");
    for(var i = 0; i < lines.length; i++)
    {
        var obj = lines[i];
        obj.onmouseover = function()
         {
             obj.style.backgroundColor = "#f2f2f2";
         }
         obj.onmouseout = function()
         {
             obj.style.backgroundColor = "#fff";
         }

}
}

提问者:Ahzang 2018-08-04 11:15

个回答

  • 金属核心
    2018-08-30 21:46:26

    我觉得这里涉及到闭包的问题,可以参考mdn上这篇文章

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures

  • 慕仰9764282
    2018-08-14 23:16:50

    obj.style.backgroundColor这里的obj换成this就好了,我也不知道为什么,是一个还是没涉及知识点