Bulma是一個純粹的CSS框架,不提供JavaScript。話雖如此,如果用戶在模式外單擊或者在鍵盤上點擊ESC
時阻止模式組件(特別是卡變體)被關閉,我該如何去關閉?如果用戶在其外部單擊時如何防止模式(使用Bulma CSS框架)關閉?
2
A
回答
2
在該示例中,他們可能編碼了該行爲。布爾瑪不包括它。要激活模式,只需在.modal容器上添加is-active修飾符。只要你自己不移除主動修飾符,模態將保持打開狀態。
1
正如您所說,寶馬不會爲您提供任何js。所以,如果以及如何處理模態的關閉事件完全在你身上。
像這樣的東西只有當其中一個相應的按鈕被點擊時纔會關閉模式。
var modal = document.getElementById('modal');
var elements = document.getElementsByClassName('toggle-modal');
for (var i = 0; i < elements.length; i++) {
elements[i].addEventListener('click', toggleClass);
}
function toggleClass() {
modal.classList.toggle('is-active');
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.4.1/css/bulma.css" rel="stylesheet"/>
<button class="toggle-modal">Open Modal</button>
<div class="modal" id="modal">
<div class="modal-background"></div>
<div class="modal-card">
<header class="modal-card-head">
<p class="modal-card-title">Modal title</p>
<button class="delete toggle-modal"></button>
</header>
<section class="modal-card-body">
<!-- Content ... -->
</section>
<footer class="modal-card-foot">
<a class="button is-success toggle-modal">Save changes</a>
<a class="button toggle-modal">Cancel</a>
</footer>
</div>
</div>
1
既然你寫的JS自己,只刪除模態類當您單擊要觸發關閉模式的關閉按鈕,或不管它是什麼。
$(".modal-button").click(function() {
var target = $(this).data("target");
$("html").addClass("is-clipped");
$(target).addClass("is-active");
});
$(".modal-close").click(function() {
$("html").removeClass("is-clipped");
$(this).parent().removeClass("is-active");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.4.1/css/bulma.css" rel="stylesheet">
<!-- modal button -->
<p>
<a class="button is-primary is-large modal-button" data-target="#modal">Launch example modal</a>
</p>
<!-- modal content -->
<div id="modal" class="modal">
<div class="modal-background"></div>
<div class="modal-content">
<div class="box">
<article class="media">
<div class="media-left">
<figure class="image is-64x64">
<img src="http://bulma.io/images/placeholders/128x128.png" alt="Image">
</figure>
</div>
<div class="media-content">
<div class="content">
<p>
<strong>John Smith</strong> <small>@johnsmith</small> <small>31m</small>
<br> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean efficitur sit amet massa fringilla egestas. Nullam condimentum luctus turpis.
</p>
</div>
<nav class="level">
<div class="level-left">
<a class="level-item">
<span class="icon is-small"><i class="fa fa-reply"></i></span>
</a>
<a class="level-item">
<span class="icon is-small"><i class="fa fa-retweet"></i></span>
</a>
<a class="level-item">
<span class="icon is-small"><i class="fa fa-heart"></i></span>
</a>
</div>
</nav>
</div>
</article>
</div>
</div>
<button class="modal-close"></button>
</div>
相關問題
- 1. 如何在使用jquery單擊模式外部時關閉Modal?
- 2. 如何防止在點擊外部時關閉GWT對話框
- 3. 防止datepicker關閉時,外部點擊
- 4. 單擊模式外部時阻止關閉基礎模式
- 5. 模式防止外單擊使用javascript
- 6. 角度2:防止用戶點擊模式對話框外部
- 7. 如果用戶點擊其他任何地方,Bootstrap模式會關閉。如何防止這種情況發生?
- 8. 如何防止通過點擊外部關閉JPopupMenu時觸發其他事件?
- 9. 如何防止JCheckBoxMenuItem單擊後關閉?
- 10. 單擊外部彈出框時,Magnific模式關閉
- 11. 當用戶在模態對話框外單擊時,如何阻止Modal對話框關閉在JQuery UI中?
- 12. 如何防止彈出Facebook框,如果點擊關閉按鈕
- 13. 如何在用戶點擊外部時關閉ons-modal
- 14. 如何在外部點擊時關閉模式
- 15. 防止excel在關閉用戶表單時關閉
- 16. 如何防止在離子模式之外單擊時模態消除?
- 17. 防止Boostrap模式關閉後LinkButton點擊內部模式
- 18. 如果用戶在div外部單擊時如何隱藏div?
- 19. 當用戶在其外部點擊時關閉ListView
- 20. 如何防止使用C#在Xamarin中單擊外部時彈出消息?
- 21. 關閉時,用戶點擊菜單外
- 22. 當用戶在JavaScript中單擊外部時,可以使彈出框關閉
- 23. 使用Swingbuilder時如何關閉框架?
- 24. 當用戶單擊背景區域時,停止模式彈出框的關閉
- 25. CheckComboBox:如何防止單擊選擇後關閉組合框?
- 26. 如何使用onclick防止引導模式從按鈕關閉?
- 27. 防止在webview之外單擊時關閉WebView
- 28. 防止引導模式在單擊外部或按下轉義時消失?
- 29. 如何防止模式彈出關閉按鈕點擊
- 30. 通過單擊背景或模式外停止關閉模式
感謝代碼,由於某種原因,我並不認爲他們加入的JavaScript在演示現場,使之功能。經過測試,我意識到只需在模態外單擊就不會有任何影響。對於CSS現在可以自己做的所有事情,我認爲它只是CSS。 –
這有一些不錯的選擇,如模態等.. https://buefy.github.io/#/documentation/modal 和所有的布爾瑪CSS的作品。 – Jordan