Mouseout bugs
Newer (fixed) varant
<ul> <li>Parent LI <ul><!-- child UL --> <li>Child LI <li>Child LI </ul> </li> </ul>
When a child LI is hovered, the parent LI detects a mouseout and mouseover (this is correct behaviour, and is caused by the event bubbling up through the ancestor elements). In Mozilla (tested with version 1.6) and other Gecko browsers, if the parent LI hides the child UL on mouseout (setting the display style to 'none'), and shows it on mouseover, some of the child LIs do not detect the mouseout events.
Hover over the LI to reveal the child LIs. Hover the child LIs to reveal the bug.
- Events detected:
Older (fixed) variant
In Mozilla (tested with version 1.0) and other Gecko browsers, if an element is set up to detect both mouseover and mouseout events, there are certain conditions where it will not detect mouseout events until it has detected two mouseover events. These will be:
- If the background style is not initially set, and
- If the background style is changed onmouseover.
If an input on the page has the focus, no elements can detect mouseout events at all. Mozilla users, try it with this table. The cell will turn red when the mouse moves over it and should turn blue when the mouse leaves it. It will only turn blue the second time you move your mouse away from it. If you put the cursor in the text box, the cell will not turn back to blue at all.
The text box will show if the cell has detected a mouse event. If your browser works properly, putting the mouse over then away from the cell should give 'mouseover mouseout mouseover mouseout'. In Mozilla, this would give 'mouseover mouseover mouseout'. If the cursor is in the box, Mozilla will only give 'mouseover mouseover'.
Gecko engine and layer tags (fixed in recent versions)
Gecko engine also partially recognises layer tags. Here, a layer tag splits the line. It should not. It can detect events, which it should not.
This