diff --git a/src/platforms/GitHub/DOMHelper.ts b/src/platforms/GitHub/DOMHelper.ts index b1ffde8..3bcac7e 100644 --- a/src/platforms/GitHub/DOMHelper.ts +++ b/src/platforms/GitHub/DOMHelper.ts @@ -161,6 +161,7 @@ export function attachCopySnippet() { * */ if (target.parentNode) { + removeAttachedOnes() // show no more than one button const clippyElement = await renderReact( React.createElement(Clippy, { codeSnippetElement: target }), ) @@ -171,14 +172,17 @@ export function attachCopySnippet() { } } } - readmeElement.addEventListener('mouseover', mouseOverCallback) - return () => { - readmeElement.removeEventListener('mouseover', mouseOverCallback) + function removeAttachedOnes() { const buttons = document.querySelectorAll(`.${ClippyClassName}`) buttons.forEach(button => { button.parentElement?.removeChild(button) }) } + readmeElement.addEventListener('mouseover', mouseOverCallback) + return () => { + readmeElement.removeEventListener('mouseover', mouseOverCallback) + removeAttachedOnes() + } }, () => { const plainReadmeSelector = '.repository-content div#readme .plain'