[Bug 22641] New: Normatively specify the order in which mouse events should fire

https://www.w3.org/Bugs/Public/show_bug.cgi?id=22641

            Bug ID: 22641
           Summary: Normatively specify the order in which mouse events
                    should fire
    Classification: Unclassified
           Product: WebAppsWG
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DOM3 Events
          Assignee: travil@microsoft.com
          Reporter: gphemsley@gmail.com
        QA Contact: public-webapps-bugzilla@w3.org
                CC: annevk@annevk.nl, ian@hixie.ch, mike@w3.org,
                    www-dom@w3.org

When a mouse cursor is moved over an element, three events are fired (in some
order):

* mouseover
* mouseenter
* mousemove

Possible orders include:

(1) mouseover -> mouseenter -> mousemove
(2) mousenter -> mouseover -> mousemove
(3) mousemove -> mouseover -> mouseenter

The spec suggests (non-normatively, AIUI) order (1). According to [1] (and some
of my own testing), Gecko uses order (1). Opera uses order (2), which is IMO
the most logical. IE uses order (3). Chrome and Safari could use either order
(1) or order (2), as neither currently fires the mouseenter event. (I'm told a
patch has recently landed for Chrome support, but I haven't verified what order
that implements.)

Interestingly enough, Opera seem to agree that the canonical order for the
reverse is (4):

(4) mousemove -> mouseout -> mouseleave

As before, Chrome and Opera do not fire the mouseleave event, but otherwise
maintain the order in (4). I didn't test IE.

The spec should say definitively, and not just in some examples or suggestions,
what the canonical order should be.

[1] http://rodneyrehm.github.io/select-events/

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Received on Thursday, 11 July 2013 01:07:51 UTC