lysvanilla 2012-09-12 22:16
浏览 340
已采纳

js的attachEvent传递的参数总是最后一个,求解决办法

[code="html"]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">

About




123明细信息
456明细信息
789明细信息
ss

function initHrefColor(objs){ var objs=document.getElementsByTagName("a"); var obj=null; outer:for(var i=0;i<objs.length;i++){ obj=objs[i]; obj.attachEvent("onclick",function (){aaa(obj);}); }} initHrefColor(); function aaa(obj){ alert(obj.innerText); }

[/code]

不论点击哪个超链接alert(obj.innerText);获取到的值总是最后一个的值“789明细信息”。求解决方法,使能获取到相对应超链接的值。

  • 写回答

4条回答 默认 最新

  • jinnianshilongnian 2012-09-13 07:10
    关注

    1、var obj=null;

    outer:for(var i=0;i<objs.length;i++){

    obj=objs[i];

    obj.attachEvent("onclick",function (){aaa(obj);});

    }}

    aaa(obj);//obj=objs数组最后一个,所以这样肯定不对;
    

    2、attachEvent不支持Mozilla系列,需要addEventListener
    [url]http://www.cnblogs.com/poorpan/archive/2011/08/10/2134039.html[/url]

    3、我们通过event传递,然后通过如下代码拿到目标对象
    var src = event.srcElement;
    if(!src) {
    src = event.target;
    }
    [url]http://codex.wordpress.org.cn/HTML%E5%85%B3%E4%BA%8EEvent%E5%AF%B9%E8%B1%A1[/url]

    4、可执行代码:
    [code="java"]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">

    About








    123明细信息
    456明细信息
    789明细信息
    ss

    function initHrefColor(){ var objs=document.getElementsByTagName("a"); var obj=null; outer:for(var i=0;i<objs.length;i++){ obj=objs[i]; //非Mozilla系列 if(obj.attachEvent) { obj.attachEvent("onclick",aaa); } else { obj.addEventListener("click",aaa); } }} function aaa(event){ var src = event.srcElement; if(!src) { src = event.target; } alert(src.innerText); } initHrefColor();


    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划