五、Bootstrap插件设计
Bootstrap JavaScript插件包括引入方式、data属性及事件等方面内容。在Bootstrap框架下,JS插件可以单个引入(使用Bootstrap框架提供的单个模块的JS文件),也可以一次性全部引入(使用bootstrap.js或压缩坂的bootstrap.min.js)。
需要注意:
建议使用压缩版的JS文件(bootstrap.js和bootstrap.min.js都包含了所有插件,使用时只需选择一个引入页面就行了)。
避免组件的data属性冲突(不要在同一个元素上同时使用多个插件的data属性,例如按钮组件不能同时支持工具提示和模态框等)。
注意插件间的依赖关系(例如某些插件和CSS组件依赖于其他插件,假设单个引入插件时要确保在文档中检查插件之间的依赖关系)。
data属性
Bootstrap框架提供了非常有用的data属性用于扩展功能,设计时仅仅通过data属性API就可以使用所有的Bootstrap插件,不需要编写JS脚本代码。Bootstrap框架默认开启data属性,但在有些特殊情景下需要关闭这一功能,例如当要解除data-api为命名空间并绑定在文档上的事件时,可使用一下代码:
$(document).off('.data-api'); $(document).off('.alert.data-api'); <!-- 针对.alert插件 -->
事件
Bootstrap框架为大部分插件提供了自定义事件。一般,事件分不定式(开始时触发)和过去式(结束时触发)两种动词命名形式。Bootstrap事件的名称采用命名空间方式,所有以不定式形式的动词命名的事件都提供preventDefault功能。1、Bootstrap模态对话框
Bootstrap模态对话框是一类简洁、灵活的弹出框,不支持模态对话框重叠。必须将模态对话框的HTML代码放在文档的最高层级内(body标签的直接子元素)。代码 | 解释 |
---|---|
div id="example" | 分配给相关 div 的 id,id 的值指向后边要实现 modal(模态框)的 JavaScript。 |
class="modal hide fade in" | Bootstrap CSS 的四个 class - modal、hide、fade 和 in,用于设置 modal(模态框)的布局。 |
style="display: none; | 用于保持模态窗口可见,直到触发器触发(比如点击相关按钮)。 |
<div class="modal-header"> | modal-header 适用于定义模态窗口标题样式的 class。 |
a class="close" | CSS class close 用于设置模态窗口关闭按钮的样式。 |
data-dismiss="modal" | data-dismiss 是一个定制的 HTML5 data 属性。用于关闭模态窗口。 |
class="modal-body" | modal-body 是 Bootstrap 的一个 CSS class,用于设置模态窗口主体的样式。 |
class="modal-footer" | modal-footer 是 Bootstrap 的一个 CSS class,用于设置模态窗口尾部的样式。 |
class="btn btn-success" | CSS class btn 和 btn-success 用于在模态窗口的尾部创建一个大号的按钮。您可以使用任何其他 Bootstrap 按钮代替。 |
class="btn" | Bootstrap CSS 的 按钮 class btn,用于在模态窗口的尾部创建一个小号的按钮。 |
data-dismiss="modal" | HTML5 定制的 data 属性 data-dismiss,用于关闭模态窗口。 |
data-toggle="modal" | HTML5 定制的 data 属性 data-toggle,用于打开模态窗口。 |
class="btn btn-primary btn-large" | 设置按钮样式,点击该按钮则创建模态窗口。 |
<script src="https://ajax.googleapis.com/ajax/libs /jquery/1.7.1/jquery.min.js"></script> |
引用 Jquery 文件。 |
<script src="../bootstrap/twitter-bootstrap-v2> /js/bootstrap-modal.js"></script> |
引用 bootstrap modal(模态框)的 JS 文件。 |
静态模态对话框
Bootstrap的静态模态对话框式带有标题、正文、页脚按钮的对话框。<div class="bs-example bs-example-modal"> <div class="modal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> <h4 class="modal-title">静态模态对话框</h4> </div> <div class="modal-body"> <p>静态模态对话框…</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button> <button type="button" class="btn btn-primary">保存</button> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> </div><!-- /example -->
动态模态对话框
Bootstrap动态模态对话框式通过JS触发一个模态对话框,显示过程中可以定制不同的过渡效果。
<div id="dynModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="dynModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"> <span aria-hidden="true">×</span> <span class="sr-only">Close</span> </button> <h4 class="modal-title" id="dynModalLabel">动态模态对话框</h4> </div> <div class="modal-body"> <h4>文本内容</h4> <p>动态模态对话框文本内容</p> <h4>工具提示</h4> <p><a href="#" class="tooltip-test" title="Tooltip">动态模态对话框</a>工具提示</a></p> <hr> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button> <button type="button" class="btn btn-primary">保存</button> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <div class="bs-example" style="padding-bottom: 24px;"> <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#dynModal"> 打开动态模态对话框 </button> </div><!-- /button -->