Commit 9740d8bb authored by Phil Hughes's avatar Phil Hughes Committed by Heinrich Fenkart
Browse files

Fix tooltip occasionally not hiding when using a hide delay

Fixes #14375.
Closes #14519 by merging it.
parent 783eced7
4 merge requests!28721Hot test,!16605Test pull please ignore,!22103test,!25326Adjust examples
Showing with 33 additions and 0 deletions
+33 -0
......@@ -928,6 +928,36 @@ $(function () {
$tooltip.trigger('mouseenter')
})
test('should hide tip after hide delay even if moused left before end of fade in', function () {
stop()
var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip for test"/>')
.appendTo('#qunit-fixture')
.bootstrapTooltip({ delay: { show: 10, hide: 10 }})
setTimeout(function () {
ok(!$tooltip.data('bs.tooltip').$tip, '1ms: tooltip exists')
setTimeout(function () {
ok($tooltip.data('bs.tooltip').$tip.is('.fade.in'), '10ms: tooltip faded in')
}, 10)
setTimeout(function () {
ok($tooltip.data('bs.tooltip').$tip.is('.fade.in'), '15ms: tooltip faded in')
$tooltip.trigger('mouseout')
}, 15)
setTimeout(function () {
ok(!$tooltip.data('bs.tooltip').$tip.is('.fade.in'), '30ms: tooltip faded out')
start()
}, 30)
}, 0)
$tooltip.trigger('mouseenter')
})
test('should correctly position tooltips on SVG elements', function () {
if (!window.SVGElement) {
// Skip IE8 since it doesn't support SVG
......
......@@ -207,8 +207,11 @@
this.applyPlacement(calculatedOffset, placement)
var complete = function () {
var prevHoverState = that.hoverState
that.$element.trigger('shown.bs.' + that.type)
that.hoverState = null
if (prevHoverState == 'out') that.leave(that)
}
$.support.transition && this.$tip.hasClass('fade') ?
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment