
jquery each 每次添加li操作,都遍历一次;需求需要;遍历多次 事件多次执行了;怎么避免;
<ulid="list"><li>1</li><li>2</li><li>3</li><li>4</li></ul><buttonid="listAdd">添加</but...
<ul id="list">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
<button id="listAdd">添加</button>
$("#listAdd").on("click",function(){
$("#list").append("<li>增加的</li>")
$("#list li").each(function(){
eventFun($(this));
})
})
//这个函数是封装好的不能动;
function eventFun(dom){
dom.on("click",function(){
alert($(this).html())
})
}
大神应该这样的;eventFun是一个封装函数 不可以修改;看看怎么解决; 展开
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
<button id="listAdd">添加</button>
$("#listAdd").on("click",function(){
$("#list").append("<li>增加的</li>")
$("#list li").each(function(){
eventFun($(this));
})
})
//这个函数是封装好的不能动;
function eventFun(dom){
dom.on("click",function(){
alert($(this).html())
})
}
大神应该这样的;eventFun是一个封装函数 不可以修改;看看怎么解决; 展开
1个回答
展开全部
function eventFun(dom){
dom.on("click",function(){
alert($(this).html())
})
}
$("#listAdd").on("click",function(){
$("#list").append("<li>增加的</li>");
$("#list li").each(function(){
$(this).off("click");
eventFun($(this));
});
});
追问
这个可解决问题;有更好的办法吗 ;非常感谢
追答
只能这样了吧,因为你说的eventFun这个方法是不可修改的啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询