对于 twitter bootstrap.js 插件中的模式 代码,我看到了这个:
e = $.Event('show')
this.$element.trigger(e)
他们为什么不这样做$.element.show()
?
为什么要使用jQuery Event 构造函数?
以下是源代码中的 show 方法:
show: function () {
var that = this
, e = $.Event('show')
this.$element.trigger(e)
if (this.isShown || e.isDefaultPrevented()) return
$('body').addClass('modal-open')
this.isShown = true
escape.call(this)
backdrop.call(this, function () {
var transition = $.support.transition && that.$element.hasClass('fade')
if (!that.$element.parent().length) {
that.$element.appendTo(document.body) //don't move modals dom position
}
that.$element.show()
if (transition) {
that.$element[0].offsetWidth // force reflow
}
that.$element.addClass('in')
transition ?
that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
that.$element.trigger('shown')
})
}
有人可以向我解释清楚吗?