Your issue is with yout current mouseenter/mouseleave approach is that the wheel event from the iframe's content is happening inside the iframe's document, and when it reaches the top of its scroll, the browser decides to pass that event up to the parent window.