7

最近「マグニフィック ポップアップ」を実装したところ、ポップアップは正常に表示されますが、入力ボックスをクリックすると、ポップアップ全体が消えて親ページに戻ります。プラグインの Web サイトに示されている例では、ダイアログ ボックスの外側をクリックするまで、ダイアログ ボックス全体をクリックできます。

私が見逃した非常に単純なものであることを願っていますが、それでも頭を悩ませています.

私が得ることができるどんな助けにも本当に感謝しています!

ありがとう :)

4

5 に答える 5

9

「ajax」コンテンツ タイプを使用している場合は、ルート ノードが 1 つだけであることを確認する必要があります。

http://dimsemenov.com/plugins/magnific-popup/documentation.html#ajax_type

たとえば、これは ajax ファイルの正しい内容です。

<div>
    html content
    <script src="something.js"></script>
</div>

正しくない:

<script src="something.js"></script>
<div>
    html content
</div>

正しくない:

<div>
    html content
</div>
<div>Another content</div>

また、http://dimsemenov.com/plugins/magnific-popup/documentation.html#closeoncontentclick に設定されていることを確認してくださいcloseOnContentClickfalse

何らかの理由で ajax ファイルの内容を変更できない場合は、ここで説明されているように、parseAjax コールバックで内容を解析できます(したがって、mfpResponse.dataルート ノードは 1 つだけ含まれます)。

于 2013-05-17T06:46:09.350 に答える
1

同じエラーが発生しました。私の側からのばかげた間違いであることが判明しました。オープナーとインラインdivに同じクラスがありました。

<a href="#popup" class="dialog">Open</a>
<div id="popup" class="dialog mfp-hide"></div>

もちろん、それらは次のように異なるクラスである必要がありました。

<a href="#popup" class="dialog">Open</a>
<div id="popup" class="dialog-box mfp-hide"></div>
于 2013-06-07T11:05:58.340 に答える
1

まだ返信できません (担当者が少なすぎます..) ので、次のように追加します: これは type: 'inline' にもカウントされるようです。常に div でコンテンツをラップしても安全です。

$.magnificPopup.open({
  items: {
    src: '<div>'+ html +'</div>'
  },
  type: 'inline',
  closeOnContentClick: false
}, 0);
于 2013-05-26T09:52:42.580 に答える
0

ドミトリーはここで問題を説明しています https://github.com/dimsemenov/Magnifi-Popup/issues/34

于 2014-01-07T07:16:40.513 に答える