@@ -89,6 +89,7 @@ class ReactTooltip extends Component {
89
89
this . bind ( [
90
90
'showTooltip' ,
91
91
'updateTooltip' ,
92
+ 'checkSameTarget' ,
92
93
'hideTooltip' ,
93
94
'globalRebuild' ,
94
95
'globalShow' ,
@@ -183,6 +184,7 @@ class ReactTooltip extends Component {
183
184
target . addEventListener ( 'mousemove' , this . updateTooltip , isCaptureMode )
184
185
}
185
186
target . addEventListener ( 'mouseleave' , this . hideTooltip , isCaptureMode )
187
+ target . addEventListener ( 'DOMNodeRemovedFromDocument' , this . checkSameTarget , isCaptureMode )
186
188
} )
187
189
188
190
// Global event to hide tooltip
@@ -216,6 +218,7 @@ class ReactTooltip extends Component {
216
218
target . removeEventListener ( 'mouseenter' , this . showTooltip , isCaptureMode )
217
219
target . removeEventListener ( 'mousemove' , this . updateTooltip , isCaptureMode )
218
220
target . removeEventListener ( 'mouseleave' , this . hideTooltip , isCaptureMode )
221
+ target . removeEventListener ( 'DOMNodeRemovedFromDocument' , this . checkSameTarget , isCaptureMode )
219
222
}
220
223
221
224
/**
@@ -332,6 +335,12 @@ class ReactTooltip extends Component {
332
335
}
333
336
}
334
337
338
+ checkSameTarget ( e ) {
339
+ if ( this . state . currentTarget === e . currentTarget ) {
340
+ this . hideTooltip ( e )
341
+ }
342
+ }
343
+
335
344
/**
336
345
* When mouse leave, hide tooltip
337
346
*/
@@ -440,15 +449,15 @@ class ReactTooltip extends Component {
440
449
if ( html ) {
441
450
return (
442
451
< 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 >
446
455
)
447
456
} else {
448
457
return (
449
458
< wrapper className = { `${ tooltipClass } ${ extraClass } ` }
450
- { ...ariaProps }
451
- data-id = 'tooltip' > { placeholder } </ wrapper >
459
+ { ...ariaProps }
460
+ data-id = 'tooltip' > { placeholder } </ wrapper >
452
461
)
453
462
}
454
463
}
0 commit comments