diff options
| author | Max Beatty <[email protected]> | 2016-12-26 16:21:27 -0800 |
|---|---|---|
| committer | Mark Otto <[email protected]> | 2016-12-27 14:19:12 -0800 |
| commit | aa7f95fd777b5a733bc85c158919d206e05a61b5 (patch) | |
| tree | ebd8c30addaa1634235871546f8246d5ae6a6341 | |
| parent | 8a3d0d344b4eadd78f98809cdf7161b21436b765 (diff) | |
| download | bootstrap-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.js | 4 | ||||
| -rw-r--r-- | js/tests/unit/tooltip.js | 21 |
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') + }) + }) |
