0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-12-10 22:24:19 +01:00

issue #240 - firefox drop css transition events :{o

This commit is contained in:
Jacob Thornton 2011-10-31 22:44:42 -07:00
parent 169b4b5dcb
commit 8f726dc6ef

19
js/bootstrap-modal.js vendored
View File

@ -89,8 +89,7 @@
that.$element[0].offsetWidth // force reflow that.$element[0].offsetWidth // force reflow
} }
that.$element that.$element.addClass('in')
.addClass('in')
transition ? transition ?
that.$element.one(transitionEnd, function () { that.$element.trigger('shown') }) : that.$element.one(transitionEnd, function () { that.$element.trigger('shown') }) :
@ -118,7 +117,7 @@
.removeClass('in') .removeClass('in')
$.support.transition && this.$element.hasClass('fade') ? $.support.transition && this.$element.hasClass('fade') ?
this.$element.one(transitionEnd, $.proxy(hideModal, this)) : hideWithTransition.call(this) :
hideModal.call(this) hideModal.call(this)
return this return this
@ -130,6 +129,20 @@
/* MODAL PRIVATE METHODS /* MODAL PRIVATE METHODS
* ===================== */ * ===================== */
function hideWithTransition() {
// firefox drops transitionEnd events :{o
var that = this
, timeout = setTimeout(function () {
that.$element.unbind(transitionEnd)
hideModal.call(that)
}, 500)
this.$element.one(transitionEnd, function () {
clearTimeout(timeout)
hideModal.call(that)
})
}
function hideModal (that) { function hideModal (that) {
this.$element this.$element
.hide() .hide()