模态框(modal)是什么?
模态框(Modal)是覆盖在父窗体上的子窗体,是一个经常使用的组件。通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动,一般用于提示信息,确认信息,表单,登录,注册等内容。模态框弹出时其他页面元素不可被选中。
使用模态框(modal)的准备工作
要使用模态框,你需要引入相应的文件,也就是”bootstrap.css“以及“bootstrap.js”,具体的引入你可以参考Bootstrap官网的起步页面,在这里我就不赘诉了,这边只说几点需要注意的事项。
bootstrap.js
和bootstrap.min.js
同样是包含了所有插件。区别是:一个没有压缩,一个进行了压缩。bootstrap
所有插件都依赖jQuery(也就是说,在引用bootstrap.js前必须先引用jQuery)。
*.js
文件),也就是说你可以单独引用modal.js这个文件,但是某些插件和CSS组件依赖于其它插件。如果你是单个引入每个插件的,请确保在文档中检查插件之间的依赖关系。请注意以下的观点属于个人观点:在使用Bootstrap的时候还是有可能用到它的其它功能比如Carousel比如Collaps又比如导航条,所以如果不是有特别要求,我个人建议直接引用bootstrap.js
或
bootstrap.min.js就可以了,不需要进行单独引用,这种行为个人认为大部分情况下吃力不讨好。
创建模态框(Modal)
<a data-toggle="modal" href="#myModal">演示模态框a>
在运行程序后,
模态框不会立马显示出来。原因很简单,因为模态框一开始的属性就是显示隐藏的,很明显,就模态
框的作用而言,这是符合他所扮演的功能的
。
当你拷贝粘贴了上述代码以后,你已经得到一个可以使用的模态框了(前提是你已经完成了之前的准备工作),那么接下
来我们来讲解一下上述的代码。
首先我先排除两个不需要详细说明的属性,那就是
aria-hidden和role,之所以不要说明是
因为这两个属性是为了盲人
设计的,
也就说在眼睛
看的见的情况下基本没有用处,如果有需要为盲人做阅读器的朋友可以多研究研究,当然写上这两个属性,一般来说
对我们也感觉不到太大影响。那么下面开始正式说明。
打开模态窗口,您需要有某种触发器。您可以使用按钮或链接。这边我两种都提供了
<a data-toggle="modal" href="#myModal">演示模态框a>。实际上这两种方法都是通过
$('#identifier').modal(options)
data-target="#myModal" (href="#identifier"也一样)是你想要在页面上加载的模态框的目标,你可以在页面上创建多个模态框,
$('#identifier').modal('toggle')
手动打开模态框
$('#identifier').modal('show')
$('#identifier').modal('hide')
个人认为使用后两种你已经可以非常灵活的控制你的模态框了
。
事件类型 | 描述 |
---|---|
show.bs.modal | show 方法调用之后立即触发该事件。如果是通过点击某个作为触发器的元素,则此元素可以通过事件的 relatedTarget 属性进行访问。 |
shown.bs.modal | 此事件在模态框已经显示出来(并且同时在 CSS 过渡效果完成)之后被触发。如果是通过点击某个作为触发器的元素,则此元素可以通过事件的 relatedTarget 属性进行访问。 |
hide.bs.modal | hide 方法调用之后立即触发该事件。 |
hidden.bs.modal | 此事件在模态框被隐藏(并且同时在 CSS 过渡效果完成)之后被触发。 |
loaded.bs.modal | 从远端的数据源 加载完数据之后触发该事件。 |