Bootstrap在初始化其中一个组件时是否创建了一个全局对象,例如:标签?它是如何工作的?
使用Bootstrap 3.2。
答案 0 :(得分:2)
首先他们定义
var Tab = function (element) {
this.element = $(element)
}
然后他们走得更远,原型Tab
:
Tab.prototype.activate = function (element, container, callback) {
var $active = container.find('> .active')
var transition = callback
//...
}
最后他们使用Tab
工厂将Plugin
添加为jQuery方法:
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.tab')
if (!data) $this.data('bs.tab', (data = new Tab(this)))
if (typeof option == 'string') data[option]()
})
}
$.fn.tab = Plugin
$.fn.tab.Constructor = Tab
Plugin
似乎与jQuery UI插件工厂类似,因此您调用$("#a").tab("method")
并且Plugin
对象将在Tab
对象上调用相应的方法。 / p>