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

来源:9-22 编程练习

Ahzang

2018-08-04 11:15

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";
         }

}
}
写回答 关注

2回答

  • 金属核心
    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就好了,我也不知道为什么,是一个还是没涉及知识点

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468195 学习 · 21891 问题

查看课程

相似问题