Skip to content

Commit 6a56af2

Browse files
authored
Merge pull request #259 from Ubiatar/master
Track removal of DOM elements
2 parents 8e783f1 + 1a34c6a commit 6a56af2

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

src/index.js

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ class ReactTooltip extends Component {
8989
this.bind([
9090
'showTooltip',
9191
'updateTooltip',
92+
'checkSameTarget',
9293
'hideTooltip',
9394
'globalRebuild',
9495
'globalShow',
@@ -183,6 +184,7 @@ class ReactTooltip extends Component {
183184
target.addEventListener('mousemove', this.updateTooltip, isCaptureMode)
184185
}
185186
target.addEventListener('mouseleave', this.hideTooltip, isCaptureMode)
187+
target.addEventListener('DOMNodeRemovedFromDocument', this.checkSameTarget, isCaptureMode)
186188
})
187189

188190
// Global event to hide tooltip
@@ -216,6 +218,7 @@ class ReactTooltip extends Component {
216218
target.removeEventListener('mouseenter', this.showTooltip, isCaptureMode)
217219
target.removeEventListener('mousemove', this.updateTooltip, isCaptureMode)
218220
target.removeEventListener('mouseleave', this.hideTooltip, isCaptureMode)
221+
target.removeEventListener('DOMNodeRemovedFromDocument', this.checkSameTarget, isCaptureMode)
219222
}
220223

221224
/**
@@ -332,6 +335,12 @@ class ReactTooltip extends Component {
332335
}
333336
}
334337

338+
checkSameTarget (e) {
339+
if (this.state.currentTarget === e.currentTarget) {
340+
this.hideTooltip(e)
341+
}
342+
}
343+
335344
/**
336345
* When mouse leave, hide tooltip
337346
*/
@@ -440,15 +449,15 @@ class ReactTooltip extends Component {
440449
if (html) {
441450
return (
442451
<wrapper className={`${tooltipClass} ${extraClass}`}
443-
{...ariaProps}
444-
data-id='tooltip'
445-
dangerouslySetInnerHTML={{__html: placeholder}}></wrapper>
452+
{...ariaProps}
453+
data-id='tooltip'
454+
dangerouslySetInnerHTML={{__html: placeholder}}></wrapper>
446455
)
447456
} else {
448457
return (
449458
<wrapper className={`${tooltipClass} ${extraClass}`}
450-
{...ariaProps}
451-
data-id='tooltip'>{placeholder}</wrapper>
459+
{...ariaProps}
460+
data-id='tooltip'>{placeholder}</wrapper>
452461
)
453462
}
454463
}

0 commit comments

Comments
 (0)