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