[whatwg] Adding mouseenter and mouseleave events
Gareth Hay
gazhay at gmail.com
Thu Mar 15 12:10:33 PDT 2007
I'm not so sure it is a workaround though.
If you know that the event will bubble, you can make your handler
prevent bubbling.
I don't think we should be adding two new events to a spec, when the
existing events can work in the way you want, albeit with a line more
code. If we did, we'd be forever adding very specialized events.
>>> Mouseover/out events will trigger when elements contained inside
>>> the EventTarget are hovered, and then bubble up. This is contrary
>>> to the most obvious interpretation, as you are still inside
>>> (over) the targeted element. IE supports two events, mouseenter
>>> [1] and mouseleave[2], which solve this problem by not bubbling.
>>>
>>> It is possible to work around the problem by using target/
>>> relatedTarget and walking up the DOM tree. However, this requires
>>> extra code for every event handler. Besides, these events were
>>> often not meant to be generated in the first place, by the intent
>>> of the author.
>>>
>>> I have no statistics for how often mouseover/out are used with
>>> and without intent of bubbling, but the anecdotal evidence from
>>> my own experience has never found me wanting it.
>>>
>>> I suggest these two events be added to the web applications spec.
>>>
>>> [1] http://msdn.microsoft.com/workshop/author/dhtml/reference/
>>> events/onmouseenter.asp
>>> [2] http://msdn.microsoft.com/workshop/author/dhtml/reference/
>>> events/onmouseleave.asp
>>>
>
>> Can't you just return false from an event handler to prevent
>> further bubbling?
>>
>
> As mentioned there are workarounds, although I don't think
> attempting to add anti-bubbling handlers on every descendant
> element is a reliable one. This unwanted bubbling puts extra load
> on the user agent for processing it, and the script author to work
> around it, when removing the root cause is easily possible by
> making the event non-bubbling to begin with.
>
> --
> Magnus Kristiansen
> "Don't worry; the Universe IS out to get you."
More information about the whatwg
mailing list