Popover with no animation doesn't hide (after toggle)
Created by: fkling
If you use $().popover
with no animation and show the popover with $().popover('toggle')
(i.e. trigger: 'manual'
), then it doesn't hide after $().popover('hide')
is called.
Demo: http://jsfiddle.net/sJtrg/
The problem seems to be that inside the Tooltip.prototype.toggle
function, enter
and leave
are called instead of show
and hide
:
self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
This was changed as part #7163 (closed) (9257bdc0).
Inside enter
, the following property is set:
self.hoverState = 'in'
and inside hide
, the popover is only removed if this property is not 'in'
:
function complete() {
if (that.hoverState != 'in') $tip.detach()
}
The same problem exists with animation of course, but since element was faded out, it's not visible (even though it doesn't get detached).
I would have changed the calls from leave
and enter
to hide
and show
again, but I didn't go through the other issue completely, so I don't know if that would reintroduce the other bug. There might be a different way to solve this problem.