diff --git a/js/collapse.js b/js/collapse.js index 6f2205b6ff53..42563c08e73f 100644 --- a/js/collapse.js +++ b/js/collapse.js @@ -56,7 +56,11 @@ this.transitioning = 1 var complete = function (e) { - if (e && e.target != this.$element[0]) return + if (e && e.target != this.$element[0]) { + this.$element + .one($.support.transition.end, $.proxy(complete, this)) + return + } this.$element .removeClass('collapsing') .addClass('collapse in')[dimension]('auto') @@ -92,7 +96,11 @@ this.transitioning = 1 var complete = function (e) { - if (e && e.target != this.$element[0]) return + if (e && e.target != this.$element[0]) { + this.$element + .one($.support.transition.end, $.proxy(complete, this)) + return + } this.transitioning = 0 this.$element .trigger('hidden.bs.collapse')