ユーザーが閉じるボタンをクリックしたときにのみモーダルを閉じたい。 Bootstrapでこれを行う方法を知っています。マテリアライズをお手伝いできますか?
ページ下部にあるオプション Here を使用して、Materializeモーダルの動作をカスタマイズできます。
オプションdismissible
をfalse
に変更します(デフォルトではモーダルプラグインはtrue
です)。したがって、モーダルはclose
ボタンをクリックしたときにのみ閉じます。
$('.modalselector').leanModal({
dismissible: false
);
モーダルの例
$(document).ready(function(){
$('.modal-trigger').leanModal({
dismissible: false
});
});
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.1/css/materialize.min.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.1/js/materialize.min.js"></script>
<!-- Modal Trigger -->
<a class="waves-effect waves-light btn modal-trigger" href="#modal1">Modal</a>
<!-- Modal Structure -->
<div id="modal1" class="modal">
<div class="modal-content">
<h4>Modal Header</h4>
<p>A bunch of text</p>
</div>
<div class="modal-footer">
<a href="#!" class=" modal-action modal-close waves-effect waves-green btn-flat">Close</a>
</div>
</div>
$(document).ready(function(){ $('#modal1').openModal({ dismissible:false }); });
これを試してみてください
次のコードでモーダルを閉じることができます:
$('#modalname').closeModal(); or $('#modalname').modal('close');
どの方法もうまくいきませんでした。しかし、これは、
$('#modal1').closeModal({ dismissible: true});
同様のことをする必要が出てきたので、それを探している他の人にもこれを共有します。私はマテリアライズ1.0.0を使用していますが、上記の提案はどれもうまくいきませんでした。基本的に、モーダルの「dismissible」プロパティを制御して、いつでもどこからでも変更できるようにしたいのですが、モーダルが開いている前でも後でもかまいません。私が見つけた最もエレガントな方法は、この方法で行うことでした。これは、ユーザーがその領域の外側をクリックしたときにモーダルの動作が消えないように制御します。
var m = M.Modal.getInstance(modal);
m.options.dismissible = true|false;
ここで、モーダルparamはモーダルdivです。
お役に立てば幸いです。
Data-backdropプロパティを静的に設定するだけです。
LeanModal()、openModal()、およびcloseModal()はすべて私にとって失敗しました。それ以来、状況は変わったに違いありません。代わりに:
$("#modal1").modal({
dismissible: false
});
またはモーダルをもう一度呼び出すだけでも:
$("#modal1").modal();
モーダルを閉じるためのボタンを挿入するだけの場合(CSSの競合によりモーダルを閉じることができない場合があります)は、次のようにします。
<span
class="modal-action modal-close"
style="float:right; font-size:30px;"
onclick="$('#myModal2').closeModal();"
>
X
</span>