js生成html时的循环监听问题

使用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);

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,842评论 2 17
  • 第一部分 准入训练 第1章 进入忍者世界 js开发人员通常使用js库来实现通用和可重用的功能。这些库需要简单易用,...
    如201608阅读 1,370评论 1 2
  • 2016.9.9 第6章 原型与面向对象 原型虽然是定义对象的一种很方便的方式,但它的本质依然是函数特性。 使用原...
    如201608阅读 710评论 0 0
  • 乡村的泥土,天空,气息,都是那么的独特。 纯粹、自然、淡雅,是简单的生活状态。与都市的喧嚣大为不同。 在这个小长假...
    欣star阅读 147评论 0 0
  • 假设,我们有一个APP需要发布,为了防止中途篡改APP内容,保证APP的完整性,以及APP是由指定的私钥发的。首先...
    司夜阅读 235评论 1 1