解决循环动态添加事件,参数为最后一次循环值的有关问题

解决循环动态添加事件,参数为最后一次循环值的问题
<html>
<head>
<title></title>
<script>
  function init(){
     for(var i=1;i<=3;i++)
	 {
        var InsureMoney=eval("form1.InsureMoney"+i);
		  
	     mapping(InsureMoney,i);//不这样处理,传递到doBlur的参数总为最后一次i的值

	 }

  }

  function mapping(element, value) 
  { 
     if(window.addEventListener){
         element.attachEvent("blur", function(){ doBlur(value);}) ;
	 }else{
         element.attachEvent("onblur", function(){ doBlur(value);}) ;
	 }
	 
  }


  function doBlur(index){

     alert(index)

  }
</script>
</head>
<body onload="init()">
<form name="form1">
  1: <input type="text" name="InsureMoney1" value="1"><br>
  2: <input type="text" name="InsureMoney2" value="2"><br>
  3: <input type="text" name="InsureMoney3" value="3"><br>
 </form>
</body>
</html>