diff options
author | GeoSot <geo.sotis@gmail.com> | 2021-12-07 16:51:56 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-07 16:51:56 +0300 |
commit | 328f723008cc39292a9f355e2eafb0fd04740656 (patch) | |
tree | c5cb0a23664af6db93c1cfae72cf0dd5978de780 /js/src/tooltip.js | |
parent | ba7863a5bb33dfb5744efadb641977613cdb57d7 (diff) |
Tooltip: remove title attribute before show & add tests (#35456)
Diffstat (limited to 'js/src/tooltip.js')
-rw-r--r-- | js/src/tooltip.js | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/js/src/tooltip.js b/js/src/tooltip.js index 2f3acda384..19a9b31685 100644 --- a/js/src/tooltip.js +++ b/js/src/tooltip.js @@ -394,7 +394,7 @@ class Tooltip extends BaseComponent { } _getTitle() { - return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('title') + return this._config.title } // Private @@ -510,11 +510,17 @@ class Tooltip extends BaseComponent { } _fixTitle() { - const title = this._element.getAttribute('title') + const title = this._config.originalTitle - if (title && !this._element.getAttribute('aria-label') && !this._element.textContent) { + if (!title) { + return + } + + if (!this._element.getAttribute('aria-label') && !this._element.textContent) { this._element.setAttribute('aria-label', title) } + + this._element.removeAttribute('title') } _enter() { @@ -579,6 +585,8 @@ class Tooltip extends BaseComponent { } } + config.originalTitle = this._element.getAttribute('title') || '' + config.title = this._resolvePossibleFunction(config.title) || config.originalTitle if (typeof config.title === 'number') { config.title = config.title.toString() } |