]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
maybe fix this old ass issue #5973
authorfat <jacobthornton@gmail.com>
Thu, 18 Jul 2013 02:28:43 +0000 (19:28 -0700)
committerfat <jacobthornton@gmail.com>
Thu, 18 Jul 2013 02:28:43 +0000 (19:28 -0700)
js/collapse.js

index 7c3c20da173c7011ec731dde41b5009c109e9990..6b18e2577a185ecb024e68449557a8a383da883b 100644 (file)
   Collapse.prototype.show = function () {
     if (this.transitioning || this.$element.hasClass('in')) return
 
+    var startEvent = $.Event('show.bs.collapse')
+    this.$element.trigger(startEvent)
+    if (startEvent.isDefaultPrevented()) return
+
     var dimension = this.dimension()
     var scroll    = $.camelCase(['scroll', dimension].join('-'))
     var actives   = this.$parent && this.$parent.find('> .accordion-group > .in')
     }
 
     this.$element[dimension](0)
-    this.transition('addClass', $.Event('show.bs.collapse'), 'shown.bs.collapse')
+    this.transition('addClass', 'shown.bs.collapse')
 
     if ($.support.transition) this.$element[dimension](this.$element[0][scroll])
   }
 
   Collapse.prototype.hide = function () {
     if (this.transitioning || !this.$element.hasClass('in')) return
+
+    var startEvent = $.Event('hide.bs.collapse')
+    this.$element.trigger(startEvent)
+    if (startEvent.isDefaultPrevented()) return
+
     var dimension = this.dimension()
     this.reset(this.$element[dimension]())
-    this.transition('removeClass', $.Event('hide.bs.collapse'), 'hidden')
+    this.transition('removeClass', 'shown.bs.hidden')
     this.$element[dimension](0)
   }
 
     return this
   }
 
-  Collapse.prototype.transition = function (method, startEvent, completeEvent) {
+  Collapse.prototype.transition = function (method, completeEvent) {
     var that     = this
     var complete = function () {
-      if (startEvent.type == 'show') that.reset()
+      if (completeEvent == 'shown.bs.collapse') that.reset()
       that.transitioning = 0
       that.$element.trigger(completeEvent)
     }
 
-    this.$element.trigger(startEvent)
-
-    if (startEvent.isDefaultPrevented()) return
-
     this.transitioning = 1
 
     this.$element[method]('in')