遇到问题:
<mce:style type="text/css"><!--
--></mce:style><style type="text/css" mce_bogus="1"></style>
<mce:script type="text/javascript"><!--
window.onload = function(){
for(var i=0; i<6; i++){
var alink = document.createElement('a');
var titleText = document.createTextNode(' ' + (i+1) + ' ');
alink.appendChild(titleText);
alink.href = "javascript:void(0)";
alink.onclick = function(){alert(i)};
var div = document.getElementById('show-detail');
div.appendChild(alink);
}
}
// --></mce:script>
</head>
<body>
<div id="wrap">
<div id="show-detail"></div>
</div>
</body>
</html>
这是一组link,你会发现每点击一下,结果总是6。WHY? 这是javascript闭包特性所引起,想了解请google。
解决问题:使用代理方法
添加下面代码:
再将 : alink.onclick = function(){alert(i)};
改为 :
var pFunc = function(i){alert(i)};
alink.onclick = delegate(pFunc,i,alink);
即可。