2013-05-17 20 views
7

最近Magnificent Popupが実装され、ポップアップが正常に表示されますが、入力ボックスをクリックすると、ポップアップ全体が親ページに戻ります。プラグインのWebサイトに表示されている例では、そのボックスの外側をクリックするまで、ダイアログボックス全体がクリック可能です。Magnificent Popup - クリック時にポップアップが消える

私が見逃している非常に簡単にそのだけで何かを望んでいるが、それはまだで、私の頭をやっている。私は本当に私が得ることができる任意の助けに感謝

感謝:)

+1

はい、あなたを非常にシンプルな何かを逃した、いくつかのコードを投稿してください!誰もあなたが試したことを見ずに本当にあなたの質問に答えることはできません。 –

+0

こんにちは@ KenY-N、CMSはWebsitebakerなので、文字通りWYSIWYGページにリンクするPHPの部分です。 私はhttps://github.com/dimsemenov/Magnific-Popup/pull/39で "ノードをループする"必要があるが、私はそれを正確に行う方法を知らない。 – Frank

答えて

9

あなたは「AJAX」コンテンツタイプを使用している場合は、あなたが唯一のルートノードを持っていることを確認する必要があります。

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> 

も必ずトンを作ります(そうmfpResponse.dataのみ1つのルートノードを含む)hereを説明したように、何らかの理由で、あなたはAjaxのファイルの内容を変更することはできません、場合帽子closeOnContentClickfalsehttp://dimsemenov.com/plugins/magnific-popup/documentation.html#closeoncontentclick

に設定されている、あなたは、parseAjaxコールバックでコンテンツを解析することができます。

+1

ありがとう、それでした! (実際には、

1

私はまだ返答できません(低すぎる..)ので、このように追加してください: これはタイプ: 'インライン'にも当てはまります。 divでコンテンツを常にラップすることは安全です。

$.magnificPopup.open({ 
    items: { 
    src: '<div>'+ html +'</div>' 
    }, 
    type: 'inline', 
    closeOnContentClick: false 
}, 0); 
1

私は同じエラーがありました。 私の側から愚かな間違いであることが判明しました。私はオープナーとインラインディビジョンで同じクラスを持っていました。彼らはそうのような異なるクラスにする必要がもちろん

<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> 
+0

ここに同じ!どうもありがとう! :) –

0

magnificPopupでmodal:trueを追加します。

$('.your_class').magnificPopup({ 
    type: 'ajax', 
    modal:true 
}); 
関連する問題