Skip to content

Commit 1640457

Browse files
committed
fix
1 parent def50ad commit 1640457

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

lib/public/components/common/popover/overflowBalloon.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,18 +52,16 @@ export const overflowBalloon = (content, options = null) => {
5252
* @param {HTMLElement} newTriggerNode the new dom node of the component
5353
*/
5454
onTriggerNodeChange: function (previousTriggerNode, newTriggerNode) {
55-
// if (previousTriggerNode) {
56-
// const node = stretch ? previousTriggerNode.parentNode : previousTriggerNode;
57-
58-
// node.removeEventListener('mouseover', this.showPopover);
59-
// node.removeEventListener('mouseleave', this.hidePopover);
60-
// }
55+
if (previousTriggerNode) {
56+
previousTriggerNode.removeEventListener('mouseover', this.prevousNodeMouseoverCallback);
57+
previousTriggerNode.removeEventListener('mouseleave', this.hidePopover);
58+
}
6159

6260
if (newTriggerNode) {
6361
const node = stretch ? newTriggerNode.parentNode : newTriggerNode;
6462
const key = newTriggerNode.getAttribute('data-popover-key');
6563

66-
node.addEventListener('mouseover', () => {
64+
const newNodeMouseoverCallback = () => {
6765
this.showPopover();
6866
const selector = `.popover[data-popover-key="${key}"]`;
6967
const contentNode = document.querySelector(selector);
@@ -77,7 +75,11 @@ export const overflowBalloon = (content, options = null) => {
7775
node.addEventListener('mouseleave', this.hidePopover);
7876
this.hidePopover();
7977
});
80-
});
78+
};
79+
80+
this.prevousNodeMouseoverCallback = newNodeMouseoverCallback;
81+
82+
node.addEventListener('mouseover', newNodeMouseoverCallback);
8183
node.addEventListener('mouseleave', this.hidePopover);
8284
}
8385
},

0 commit comments

Comments
 (0)