模态框

类型

基本类型

启动方式一:通过在一个起控制器作用的页面元素(例如,按钮)上设置data-toggle="modal",并使用data-target="#foo"或href="#foo"指向特定的模态框即可。

启动方式二:只需一行JavaScript代码,即可通过id myModal调用模态框: $('#myModal').modal(options)

变化

选项

aria-labelledby="myModalTitle"属性指向模态框标题。

aria-hidden="true"告诉辅助性工具略过模态框的DOM元素。

aria-describedby='myModelBody'属性用以指向描述信息。

通过对div.modal增加data-*选项来改变模态对话框。或通过js改变$('#myModal').modal({ keyboard: false })

名称 类型 默认值 描述
backdrop boolean/static true

true时,添加一个背景元素,且点击外部区域将其关闭。

false时,不会添加背景元素,且点击外部区域不会关闭。

static时,添加一个背景元素,且点击外部区域不会关闭。

keyboard boolean true

true时,按esc键关闭模态框。

false时,按esc不会关闭模态框。

show boolean true

true时,初始化时即显示模态对话框。

true时,初始化时不显示模态对话框。

remote path false

如果提供了远程url地址,就会通过 jQuery的load方法加载内容并注入到.modal-body中。如果你使用的是data属性api,你还可以使用href标签指定远程数据源。

方法和事件

方法 例子 描述
.modal(options) $('#myModal').modal({ keyboard: false }) 让你指定的内容变成一个模态对话框。接受一个可选的参数object.
.modal('toggle') $('#myModal').modal('toggle') 手动打开或隐藏一个模态对话框。
.modal('show') $('#myModal').modal('show') 手动打开一个模态对话框。
.modal('hide') $('#myModal').modal('hide') 手动隐藏一个模态对话框。
事件 使用 描述
show.bs.modal $('#myModal').on('show.bs.modal', function () { // do something… }) show方法被调用时,此事件将被立即触发。
shown.bs.modal $('#myModal').on('shown.bs.modal', function () { // do something… }) 当模态对话框呈现到用户面前时(会等待过渡效果执行结束)此事件被触发。
hide.bs.modal $('#myModal').on('hide.bs.modal', function () { // do something… }) hide方法被调用时,此事件将被立即触发。
hidden.bs.modal $('#myModal').on('hidden.bs.modal', function () { // do something… }) 当模态对话框被隐藏(而且过渡效果执行完毕)之后,此事件将被触发。

改变模态框大小

通过重新定义.modal-dialog宽度.modal-dialog {width:*}来改变模态框大小

载入效果

目前有div.modal.fade和div.modal.in效果,需要transition.js支持。