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); }