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 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测