做项目时遇到的问题:
对图片列表中的图片单击删除,一开始是在每张图片上绑定的点击删除事件,后经大佬指点改为使用委托事件。
虽然效果相同,但代码质量不同,而且能避免不必要的BUG。
上代码:
Jquery:
<div class="col-xs-7 demo demo-noninputable cjy-InfoEntry-pic" id="cjy-InfoEntry-pic">
<div class="cjy-InfoEntry-imgDiv"><img src='' alt=''/><i class="iconfont icon-cha cjy-InfoEntry-cha" ></i></div>
<div class="cjy-InfoEntry-imgDiv"><img src='' alt=''/><i class="iconfont icon-cha cjy-InfoEntry-cha" ></i></div>
<div class="cjy-InfoEntry-imgDiv"><img src='' alt=''/><i class="iconfont icon-cha cjy-InfoEntry-cha" ></i></div>
<div class="cjy-InfoEntry-imgDiv"><img src='' alt=''/><i class="iconfont icon-cha cjy-InfoEntry-cha" ></i></div>
</div>
$('#cjy-InfoEntry-pic').on("click", '.cjy-InfoEntry-cha', function (e) {
var $i = $(e.target);
var $div = $i.closest('.cjy-InfoEntry-imgDiv');
var index = $div.index();
console.log('点击了第'+index+'张图片的删除按钮');
});
JS:
var parentList = document.getElementById("cjy-InfoEntry");
parentList.addEventListener("click",function(){
var target = event.target;
if(target.nodeName.toLowerCase() === "i"){
alert(target.firstChild.nodeValue);
}
},false);