使用H5做手机页面时经常会遇到'json'数据循环生成列表中的'li',并且对每个'li'进行tap'监听。
如下列代码
for(var n = 0; n < info.length; n++) {
$("#uldataOrder").append("<li id='li"+n+"'>hello,"+n+"</li>");
document.getElementById("li"+n).addEventListener('tap',function(){
//dosth
}
}
如果需要在function中对当前tap的li上做点处理的话,n已经不能再使用了,比如$('#li'+n),此时的n是循环后的最大值。解决方案是使用this。
function(){
//dosth
OpenDetail(this.id);
}