If the user doesn't move the mouse but an object with either :hover, onmouseout, or onmouseover slides under it, none of the events are triggered. However, the events are trigged if objects slide under the mouse by a page scrolling action.
*** Bug 4109 has been marked as a duplicate of this bug. ***
This behavior has been corrected in Gecko 1.8 as you can see in the test case. Not sure what influence this has on the bug's priority level for WebKit. But just thought I'd mention it.
I don't know if this is intended behavior, but the testcase is good and i think it should work.
Are you saying it's been fixed in the release or an unreleased build of WebKit? Because it's sure not behaving properly in Safari 412.5, Apple's latest release.
Created attachment 4587 [details] onMouseOver causes page to scrollby() onMouseOut doesn't fire There are two arrows on either side of the screen that should scroll the images. What should happen is as you hover, the images should scroll, using scrollby() and setTimeout(), and when you move away from the arrows, they should stop scrolling, using clearTimeout(). This works fine in Firefox but not in Safari, I don't think onMouseOut is being fired.
This attached test case is not at all clear to me. http://samrod.com/random/handlevent.html works well though.
Put your mouse in the middle of one of the moving lines and don't move it, when it moves under your pointer, :hover will not be triggered, when you move over it yourself, it will. It's a good testcase, but i don't think this bug needs a lot of attention, since this is behavior that won't be noticed so often. Changing to p4 and trivial, until someone convinces me otherwise ;)
It was a significant enough bug to have been corrected sometime between Firefox 1 and 1.5.
this happens in another fashion too, with links that aren't even moving: 1. pick any link that changes color when you move over it, 2. cmd-tab to another program so that it appears under your mouse pointer, 3. move your mouse out of the safari window, 4. tab back the link will still be coloured. To try this use http://dev.outbreak.nl/webkit/. Moving your mouse pointer into the right frame will also leave the link in the left frame colored when you switch back. Since this will happen more often, i'm upgrading priority and severity.
I can make similar stuff happen by; 1. Create an object with an onmouseover trigger 2. Enter that page with your point above the object, the object does not start with onmouseover 3. Move pount around inside that object, onmouseover still doesn't trigger. 4. Position your pointer outside the object, then move it above - onmouseover triggers. Firefox enters page with onmouseover triggered, so does Opera. Havent tried the behaviour on IE.
This can also be observed when manually running the tests landed with bug 3439 (fast/events/mouseover-mouseout.html). One needs to move the mouse quite slowly to see this, though. There are a lot of loosely related issues gathered there, but it's not at all obvious which of them are really the same. Anyway, I think they warrant a P2 together :)
See also bug 11705 which deals with the way these mouse events are dispatched when a DOM mutation occurs.
This bug still exists, please see my testcase: http://jsfiddle.net/qLCY3/4/
Same thing here. Put cursor into yellow circle and wait for the rectangle to come over the circle. :hover is not triggered until you move mouse. http://jsfiddle.net/CamaroSS/ZUw65/12/
Also :hover is not triggered if the page load the element under the mouse. It seems that :hover is triggered only on mousemove. See http://jsfiddle.net/4XRUf/1/ (from http://stackoverflow.com/questions/20886903/css-hover-works-only-when-mouse-moves)
Still happen on Safari
This is still happening in Safari 15.
<rdar://problem/96535959>