为了账号安全,请及时绑定邮箱和手机立即绑定

为什么鼠标移开和鼠标放置两个事件的绑定一定要再用一个函数打包才能有变色效果,像我这样直接写在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";
         }

}
}

正在回答

2 回答

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

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信