@@ -101,6 +101,7 @@ class ReactTooltip extends React.Component {
101
101
'showTooltip' ,
102
102
'updateTooltip' ,
103
103
'hideTooltip' ,
104
+ 'hideTooltipOnScroll' ,
104
105
'getTooltipContent' ,
105
106
'globalRebuild' ,
106
107
'globalShow' ,
@@ -433,8 +434,10 @@ class ReactTooltip extends React.Component {
433
434
/**
434
435
* When mouse leave, hide tooltip
435
436
*/
436
- hideTooltip ( e , hasTarget ) {
437
- const { delayHide, disable} = this . state
437
+ hideTooltip ( e , hasTarget , options = { isScroll : false } ) {
438
+ const { disable} = this . state
439
+ const { isScroll} = options
440
+ const delayHide = isScroll ? 0 : this . state . delayHide
438
441
const { afterHide} = this . props
439
442
const placeholder = this . getTooltipContent ( )
440
443
if ( ! this . mount ) return
@@ -471,17 +474,24 @@ class ReactTooltip extends React.Component {
471
474
}
472
475
}
473
476
477
+ /**
478
+ * When scroll, hide tooltip
479
+ */
480
+ hideTooltipOnScroll ( event , hasTarget ) {
481
+ this . hideTooltip ( event , hasTarget , { isScroll : true } )
482
+ }
483
+
474
484
/**
475
485
* Add scroll event listener when tooltip show
476
486
* automatically hide the tooltip when scrolling
477
487
*/
478
488
addScrollListener ( currentTarget ) {
479
489
const isCaptureMode = this . isCapture ( currentTarget )
480
- window . addEventListener ( 'scroll' , this . hideTooltip , isCaptureMode )
490
+ window . addEventListener ( 'scroll' , this . hideTooltipOnScroll , isCaptureMode )
481
491
}
482
492
483
493
removeScrollListener ( ) {
484
- window . removeEventListener ( 'scroll' , this . hideTooltip )
494
+ window . removeEventListener ( 'scroll' , this . hideTooltipOnScroll )
485
495
}
486
496
487
497
// Calculation the position
0 commit comments