Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 024035fe4e..0c1d381b90 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 1e59f0958f..7ff967fabc 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')
+ })
+
})