@@ -61,20 +61,26 @@ export const overflowBalloon = (content, options = null) => {
6161 const node = stretch ? newTriggerNode . parentNode : newTriggerNode ;
6262 const key = newTriggerNode . getAttribute ( 'data-popover-key' ) ;
6363
64+ const contentNodeMouseoverCallback = ( ) => {
65+ node . removeEventListener ( 'mouseleave' , this . hidePopover ) ;
66+ this . showPopover ( ) ;
67+ } ;
68+
69+ const contentNodeMousleaveCallback = ( ) => {
70+ node . addEventListener ( 'mouseleave' , this . hidePopover ) ;
71+ this . hidePopover ( ) ;
72+ } ;
73+
6474 const newNodeMouseoverCallback = ( ) => {
6575 this . showPopover ( ) ;
6676 const selector = `.popover[data-popover-key="${ key } "]` ;
6777 const contentNode = document . querySelector ( selector ) ;
6878
69- contentNode . addEventListener ( 'mouseover' , ( ) => {
70- node . removeEventListener ( 'mouseleave' , this . hidePopover ) ;
71- this . showPopover ( ) ;
72- } ) ;
79+ contentNode . removeEventListener ( 'mouseover' , contentNodeMouseoverCallback ) ;
80+ contentNode . removeEventListener ( 'mouseleave' , contentNodeMousleaveCallback ) ;
7381
74- contentNode . addEventListener ( 'mouseleave' , ( ) => {
75- node . addEventListener ( 'mouseleave' , this . hidePopover ) ;
76- this . hidePopover ( ) ;
77- } ) ;
82+ contentNode . addEventListener ( 'mouseover' , contentNodeMouseoverCallback ) ;
83+ contentNode . addEventListener ( 'mouseleave' , contentNodeMousleaveCallback ) ;
7884 } ;
7985
8086 this . prevousNodeMouseoverCallback = newNodeMouseoverCallback ;
0 commit comments