aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Beatty <[email protected]>2016-12-26 16:21:27 -0800
committerMark Otto <[email protected]>2016-12-27 14:19:12 -0800
commitaa7f95fd777b5a733bc85c158919d206e05a61b5 (patch)
treeebd8c30addaa1634235871546f8246d5ae6a6341
parent8a3d0d344b4eadd78f98809cdf7161b21436b765 (diff)
downloadbootstrap-aa7f95fd777b5a733bc85c158919d206e05a61b5.tar.xz
bootstrap-aa7f95fd777b5a733bc85c158919d206e05a61b5.zip
update click state when hiding so can be shown again by trigger. fixes #16732
-rw-r--r--js/src/tooltip.js4
-rw-r--r--js/tests/unit/tooltip.js21
2 files changed, 25 insertions, 0 deletions
diff --git a/js/src/tooltip.js b/js/src/tooltip.js
index 024035fe4..0c1d381b9 100644
--- a/js/src/tooltip.js
+++ b/js/src/tooltip.js
@@ -358,6 +358,10 @@ const Tooltip = (($) => {
$(tip).removeClass(ClassName.SHOW)
+ this._activeTrigger[Trigger.CLICK] = false
+ this._activeTrigger[Trigger.FOCUS] = false
+ this._activeTrigger[Trigger.HOVER] = false
+
if (Util.supportsTransitionEnd() &&
$(this.tip).hasClass(ClassName.FADE)) {
this._isTransitioning = true
diff --git a/js/tests/unit/tooltip.js b/js/tests/unit/tooltip.js
index 1e59f0958..7ff967fab 100644
--- a/js/tests/unit/tooltip.js
+++ b/js/tests/unit/tooltip.js
@@ -818,4 +818,25 @@ $(function () {
})
})
+ QUnit.test('should show on first trigger after hide', function (assert) {
+ assert.expect(3)
+ var $el = $('<a href="#" rel="tooltip" title="Test tooltip"/>')
+ .appendTo('#qunit-fixture')
+ .bootstrapTooltip({ trigger: 'click hover focus', animation: false })
+
+ var tooltip = $el.data('bs.tooltip')
+ var $tooltip = $(tooltip.getTipElement())
+
+ function showingTooltip() { return $tooltip.hasClass('show') || tooltip._hoverState === 'show' }
+
+ $el.trigger('click')
+ assert.ok(showingTooltip(), 'tooltip is faded in')
+
+ $el.bootstrapTooltip('hide')
+ assert.ok(!showingTooltip(), 'tooltip was faded out')
+
+ $el.trigger('click')
+ assert.ok(showingTooltip(), 'tooltip is faded in again')
+ })
+
})