mirror of
https://github.com/twbs/bootstrap.git
synced 2025-02-21 18:54:30 +01:00
Fix different tooltips offset when hovering
This commit is contained in:
parent
7742ba6dc9
commit
904efc043d
@ -34,6 +34,7 @@ const Tooltip = (($) => {
|
|||||||
const JQUERY_NO_CONFLICT = $.fn[NAME]
|
const JQUERY_NO_CONFLICT = $.fn[NAME]
|
||||||
const TRANSITION_DURATION = 150
|
const TRANSITION_DURATION = 150
|
||||||
const CLASS_PREFIX = 'bs-tether'
|
const CLASS_PREFIX = 'bs-tether'
|
||||||
|
const TETHER_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, 'g')
|
||||||
|
|
||||||
const Default = {
|
const Default = {
|
||||||
animation : true,
|
animation : true,
|
||||||
@ -340,6 +341,7 @@ const Tooltip = (($) => {
|
|||||||
tip.parentNode.removeChild(tip)
|
tip.parentNode.removeChild(tip)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this._cleanTipClass()
|
||||||
this.element.removeAttribute('aria-describedby')
|
this.element.removeAttribute('aria-describedby')
|
||||||
$(this.element).trigger(this.constructor.Event.HIDDEN)
|
$(this.element).trigger(this.constructor.Event.HIDDEN)
|
||||||
this._isTransitioning = false
|
this._isTransitioning = false
|
||||||
@ -438,6 +440,14 @@ const Tooltip = (($) => {
|
|||||||
return AttachmentMap[placement.toUpperCase()]
|
return AttachmentMap[placement.toUpperCase()]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_cleanTipClass() {
|
||||||
|
const $tip = $(this.getTipElement())
|
||||||
|
const tabClass = $tip.attr('class').match(TETHER_PREFIX_REGEX)
|
||||||
|
if (tabClass !== null && tabClass.length > 0) {
|
||||||
|
$tip.removeClass(tabClass.join(''))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
_setListeners() {
|
_setListeners() {
|
||||||
const triggers = this.config.trigger.split(' ')
|
const triggers = this.config.trigger.split(' ')
|
||||||
|
|
||||||
|
@ -869,4 +869,21 @@ $(function () {
|
|||||||
})
|
})
|
||||||
.modal('show')
|
.modal('show')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
QUnit.test('should reset tip classes when hidden event triggered', function (assert) {
|
||||||
|
assert.expect(2)
|
||||||
|
var done = assert.async()
|
||||||
|
var $el = $('<a href="#" rel="tooltip" title="Test tooltip"/>')
|
||||||
|
.appendTo('#qunit-fixture')
|
||||||
|
.bootstrapTooltip('show')
|
||||||
|
.on('hidden.bs.tooltip', function () {
|
||||||
|
var tooltip = $el.data('bs.tooltip')
|
||||||
|
var $tooltip = $(tooltip.getTipElement())
|
||||||
|
assert.ok($tooltip.hasClass('tooltip'))
|
||||||
|
assert.ok($tooltip.hasClass('fade'))
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
|
||||||
|
$el.bootstrapTooltip('hide')
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user