首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

span 动态绑定事件,该如何处理

2013-03-06 
span 动态绑定事件head runatservertitle/title /headbodyform idform1 runatserver

span 动态绑定事件

<head runat="server">
    <title></title>
 
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <span id="A1">16.39</span><br />
        <br />
        <span id="A2">11239</span> 
        <br />
        <span id="Span2">112239</span>
    </div><span id="Span1">116.39</span><br />
    </form>
</body>

<script type="text/javascript">



    var obj = document.getElementsByTagName("span");

    for (var i = 0; i < obj.length; i++) {
        var span = document.getElementById(obj[i].id);

        span.onmouseover = function() { span.style.color = "#FF9900"; };

        span.onmouseout = function() { span.style.color = "#FFFFFF"; };
    }

 

</script>

</html>


想给每个span 绑定onmouseover , onmouseout 为啥这样写有问题? 4个实现了onmouseout,只有最后一个实现了onmouseover?
javascript
[解决办法]
Try this:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head runat="server">
    <title></title>
 
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <span id="A1">16.39</span><br />
        <br />
        <span id="A2">11239</span> 
        <br />
        <span id="Span2">112239</span>
    </div><span id="Span1">116.39</span><br />
    </form>
</body>

<script type="text/javascript">

    var obj = document.getElementsByTagName("span");

    for (var i = 0; i < obj.length; i++) {
    obj[i].onmouseover = function() { this.style.color = "#FF9900"; };

    obj[i].onmouseout = function() { this.style.color = "#FFFFFF"; };
    }

</script>

</html>

[解决办法]
确实就是函数中的变量作用域问题,调用函数时span根本不是你以为的span变量;另外用关键词或者html标签来做变量名不好,如果你是其他的变量名就会发现报错了。

热点排行