Open Bug 574116 Opened 15 years ago Updated 2 years ago

mouseout/mouseover not fired when leaving input[type="text"] with the mouse button down

Categories

(Core :: DOM: Events, defect, P5)

x86
Linux
defect

Tracking

()

People

(Reporter: mbrubeck, Unassigned)

References

()

Details

(Keywords: testcase)

Attachments

(1 file)

Attached file test case
Steps to reproduce: 1) Load the test case from the attachment or URL (requires console.log from Firebug or similar). 2) With the mouse inside the text input, press the button. 3) With the button down, move the mouse out of the text input. 4) Outside of the text input, release the mouse button. Expected results: mouseout event for the INPUT, mouseover event for the DIV. Actual results: no mouseout/mouseover events, but an unexpected click event. Note: I discovered this while working on a fix for bug 572236. I can reproduce the bug in both chrome and content, in both 1.9.2 and trunk.
Isn't this a consequence of mouse capture? Does the same thing not happen with scrollable blocks?
(In reply to comment #1) > Isn't this a consequence of mouse capture? Does the same thing not happen with > scrollable blocks? Yes, the same thing does happen with scrollable blocks, so I guess you are right. Is there a way to change or workaround this behavior? (It doesn't happen in WebKit.) I'll see if releaseCapture() helps... It would be especially useful for Fennec to get these events. Since we can't use :hover, we can only provide feedback about the active element after mousedown.
Well, would you expect to get a mouseout if you drag-scroll inside the input? Seems pretty odd for it to happen in that case...
(In reply to comment #3) > Well, would you expect to get a mouseout if you drag-scroll inside the input? > Seems pretty odd for it to happen in that case... True. It looks like other touchscreen platforms (Android, iPhone) avoid this problem by waiting until the input field is focused with a tap (mousedown+mouseup) before performing any capture or interaction. We might want to do the same for Fennec, but that's a matter for another bug...
For comparison: Scrollable blocks * Chromium 5 fires mouseover/mouseout while the button is down. * Opera 10.5 fires mouseover/mouseout while the button is down. * Firefox never fires mouseover/mouseout. input[type="text"] * Chromium 5 fires mouseover/mouseout while the button is down. * Opera 10.5 fires mouseover/mouseout on next mousemove after the button is released. * Firefox never fires mouseover/mouseout.
Blocks: 606595
https://bugzilla.mozilla.org/show_bug.cgi?id=1472046 Move all DOM bugs that haven’t been updated in more than 3 years and has no one currently assigned to P5. If you have questions, please contact :mdaly.
Priority: -- → P5
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: