diff --git a/instantpage.js b/instantpage.js index b7b0fc0..e9af3a4 100644 --- a/instantpage.js +++ b/instantpage.js @@ -196,12 +196,13 @@ function mouseoverListener(event) { return } - anchorElement.addEventListener('mouseout', mouseoutListener, {passive: true}) - - _mouseoverTimer = setTimeout(() => { - preload(anchorElement.href, 'high') - _mouseoverTimer = undefined - }, _delayOnHover) + if (!_mouseoverTimer) { //sometimes mouseover triggers a few times before mouseout, setting multiple timeouts but then mouseout only clears the last timeout. + anchorElement.addEventListener('mouseout', mouseoutListener, {passive: true}) + _mouseoverTimer = setTimeout(() => { + preload(anchorElement.href, 'high') + _mouseoverTimer = undefined + }, _delayOnHover) + } } function mousedownListener(event) {