日期:2014-05-16 浏览次数:20595 次
imgs = document.getElementsByTagName("img");
for(var i = 0; i< imgs.length; i++){    
    var src = imgs[i].attributes["src"].value;
    (function(_src){
            imgs[i].onclick = function(){ console.log(_src);};
    })(src);                
}
------解决方案--------------------
    imgs = document.getElementsByTagName("img");
    for (var i = 0; i < imgs.length; i++) {
        //var src = imgs[i].attributes["src"].value;
        imgs[i].onclick = function () { alert(this.src); };
    }
------解决方案--------------------
1楼可以,或者你可以把绑定事件的那块放入一个单独的函数中,把需要的参数以形参的形式传过去,也可以解决这个问题,其实就是作用域的问题~~
------解决方案--------------------
天天都有这种问题
为什么不变通一下 闭包很难么 非要用闭包么
for循环的时候给一个属性 在里面不就能取了么 很容易啊
EG:
var oImg = null;
for(var i = 0; i< imges.length; i++){
 oImg.index = i;
 oImg.onclick = function(){ alert(this.index)};
}