Performance: Popover component
MEDIUM IMPACT
Popover components affect page interaction responsiveness and visual stability by adding dynamic overlays triggered by user actions.
document.body.addEventListener('mouseover', event => { const target = event.target.closest('[data-bs-toggle="popover"]'); if(target && !target._popover) { target._popover = new bootstrap.Popover(target, {trigger: 'hover'}); target._popover.show(); } });
document.querySelectorAll('[data-bs-toggle="popover"]').forEach(el => new bootstrap.Popover(el, {trigger: 'hover'}));
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Eager popover initialization on many elements | High (many event listeners and nodes) | Multiple reflows on page load | High paint cost on show/hide | [X] Bad |
| Lazy popover initialization on user interaction | Low (only active popovers) | Single reflow per popover show | Lower paint cost | [OK] Good |