1

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 に応じて、ポップアップが異なるデータで満たされる可能性があるためです。

アドバイスありがとう!

4

1 に答える 1