jquery.fancybox.js 解决只加载一次的问题

问题描述:有一块图片区域,页面第一次加载的时候jQuery(".fancybox-button").fancybox({});

使用ajax上传成功后显示在图片区域,再次jQuery(".fancybox-button").fancybox({}); 这时会出现问题:明显的现象是图片加载不出来,同时弹窗颜色会变黑(更加不透明,应该是多个弹窗重叠的效果)

参考:https://stackoverflow.com/questions/15154522/how-to-destroy-fancybox

改为jQuery(".fancybox-button").fancybox({live : false}),成功解决问题

 

fancyBox.js源码(version: 2.1.3)

if (!selector || options.live === false) {
  that.unbind('click.fb-start').bind('click.fb-start', run);

} else {
  D.undelegate(selector, 'click.fb-start').delegate(selector + ":not('.fancybox-item, .fancybox-nav')", 'click.fb-start', run);
}      
posted @ 2017-06-16 14:52  小鼠甲  阅读(1059)  评论(0编辑  收藏  举报