When the mouse starts hovering over an element because of scrolling (either by wheel, or by keyboard scrolling), it does not trigger a mouseover event on the elements it is hovering (Chrome 6 on OSX). What would be an elegant way to trigger the mouseover event for the correct elements when scrolling?
+2
A:
Honestly, this is gonna be a pain. You'll have to
- determine the size and position of every element that should get a mouseover handler.
- add a scroll listener to the window.
- In the handler, get the mouse cursor position and pageOffset.
- Find out which element(s) the cursor is in.
- manually call the actual mouseover handler
- (Find out which elements the cursor has left, if you want some mouseout behaviour too)
You may need to re-calculate the elements' positions and sizes if they are dynamic. (move 1. beneath 3.)
While this should work fine with block-level elements, I have absolutely no idea on a solution for inline elements.
Pumbaa80
2010-07-27 06:56:41
Ouch, that's what I'm afraid of. If there's no way of taking advantage of the browser doing this (it does this all the time anyway, no?), I can just skip this feature... still, would be nice.
Andrey Fedorov
2010-07-27 07:26:37
Obviously, Chrome 6 does not do it all the time - or else the mouseover event would fire ;)
Pumbaa80
2010-07-27 08:19:32