afterClose fancybox 2.1.4 イベントのトリガーに問題があります。
私はこのようなinitスクリプトを持っています
$.fancybox({
maxWidth : 900,
maxHeight : 600,
fitToView : false,
width : '70%',
height : '70%',
autoSize : false,
closeClick : false,
openEffect : 'none',
closeEffect : 'none',
afterClose : function() {
alert('Hi!');
return;
}
});
DIV に HTML データを入力する関数をトリガーする DIV があります。
<div onclick="projectDetail('+project.id+')">View Details</div>
ファンシーボックスコンテンツDIVを埋めるトリガー関数はこれ
function proyectDetail(id) {
var project = $('#project');
var result = '<h2>Lorem ipsum dolor sit amet</h2>\
<p>\
Lorem ipsum dolor sit amet, consectetur adipiscing elit.\
</p>';
project.append(result);
$.fancybox(project);
}
問題は、afterCloseイベントが発生しないことです。
その div をクリックし、fancybox を開き、fancybox を閉じた後にコンテンツをクリアするだけで済みます。これは、指定されたプロジェクト ID に応じて、ポップアップが異なるデータで満たされる可能性があるためです。
アドバイスありがとう!