本帖最后由 wtzn1983 于 2010-04-21 14:59:21 编辑

解决方案 »

  1.   

    在遍历对象后,s的值一直是input4,就输出这个了
    <input id="text1" type="text">
    <input id="text2" type="text">
    <input id="text3" type="text">
    <input id="text4" type="text"><script>
    var objjson = {
        input1:{id:"text1"},
        input2:{id:"text2"},
        input3:{id:"text3"},
        input4:{id:"text4"}
    }
    for(var s in objjson){
    (function(s){
    document.getElementById(objjson[s].id).onblur = function(){
    alert(s)
    }
    })(s);
    }
    </script>
      

  2.   

    闭包问题
    for(var s in objjson){
       document.getElementById(objjson[s].id).onblur = function(s){
        return function(){alert(s)}
       }(s)
    }
    这样就行