解决循环动态添加事件,参数为最后一次循环值的有关问题
解决循环动态添加事件,参数为最后一次循环值的问题
<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>