Bootstrap如何命名其JavaScript组件?

时间:2014-08-23 20:00:03

标签: javascript twitter-bootstrap

Bootstrap在初始化其中一个组件时是否创建了一个全局对象,例如:标签?它是如何工作的?

使用Bootstrap 3.2。

1 个答案:

答案 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>