自定义方法事件委托怎么写

比如
$(".img.lazy").lazyload({

effect : "fadeIn"

});

如果图片是循环出来的话这个懒加载就不好用 这个方法写成事件委托形式怎么写

事件委托 sorry

就是说正常的click事件
$(".box").click(callback);对循环出来的节点是没有效果的应该写成
$(".boxparent").on("click",".box",callback);

那么我上面那个懒加载方法写成这种形式可以么


30秒到达战场
浏览 452回答 2
2回答

凤凰求蛊

lazyload是一个插件功能,不能一个事件~,所以不存在委托什么的你可以在批量添加完一批图片时,统一的添加上一个自定义的标识类例如.watched,避免已经被lazyload标识过的被再次lazyload.可能这个特性在lazyload中已经存在,我相应会有的然后通过$(".img.lazy:not(.watched)").lazyload({    effect : "fadeIn"});lazyLoad基本上使用如下方法实现function lazyLoad(imgDOM,resultCallback){    var imgSrc,tempImg;    if($(imgDOM).hasClass("watched")||$(imgDOM).attr("data-loaded")==="done"){       return;    }    imgSrc=$(imgDOM).attr("data-origin-src");    tempImg=new Image();    tempImg.onload=function(){        $(imgDOM).attr("src",imgSrc);        $(imgDOM).attr("data-loaded","done");        doneFlag=true;        resultCallback&&resultCallback.apply(imgDOM,[]);        tempImg=null;    }    tempImg.src=imgSrc;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript