Delegation problem introduced in version 1.4.2 #2367

Closed
satazor opened this Issue Jun 11, 2012 · 9 comments

4 participants

@satazor

There is a bug related with relay on table rows with the mousenter/mouseleave custom events.

Please see this fiddle. http://jsfiddle.net/KemYP/4/

When hovering the table cells the event is fired even if the mouse didn't leave the actual table row.
This issue can be reproduced 100% in firefox. In chrome it only happens some times.

@DimitarChristoff
MooTools member

it's not an issue with the native mouseenter/leave implementation. http://jsfiddle.net/dimitar/KemYP/6/ - when attached directly to the tr, it's all good. I'd say that's a bug, though it may be implementation specific. 1.4.1 moved delegation over to -core but i can't remember at what point mouseenter/leave were fixed to work with delegation

@arian
MooTools member

Perhaps it's because Firefox has native mouseenter and mouseleave since 1.4.2. Delegation is in core since 1.4.0.

@DimitarChristoff
MooTools member

thats the point though. the native event by firefox, assigned to the TR directly, does not fire mouseleave as you'd expect. only happens on the delegated one. @arian what of this map? https://github.com/mootools/mootools-core/blob/master/Source/Element/Element.Delegation.js#L30-36

@arian
MooTools member

@DimitarChristoff probably that's it indeed..

@satazor

Will this be addressed soon?

@satazor

This is very weird.. if the table row has display block its fine: http://jsfiddle.net/KemYP/11/
@DimitarChristoff @arian

@satazor

Bump!

@GCheung55

With Chrome, adding position:relative to td alleviates the issue.

@luisateixeira luisateixeira pushed a commit to luisateixeira/mootools-core that referenced this issue Feb 4, 2013
Luisa Teixeira Fix delegation issue introduced in 1.4.2, #2367. 253c6e1
@arian arian added a commit to arian/mootools-core that referenced this issue Feb 11, 2013
@arian arian Fixes #2367, closes #2467 - Use the check when using delegation for m…
…ouseenter.

Since 1.4.2 the native mouseenter/mouseleave events are used, when available
(Firefox, IE). For delegation however, it should has to use mouseover/mouseout
because it should still fire each time an element is entered or left so it can
check if it matches the selector.
7494022
@arian arian added a commit to arian/mootools-core that referenced this issue Feb 11, 2013
@arian arian Fixes #2367, closes #2467 - Use the check when using delegation for m…
…ouseenter.

Since 1.4.2 the native mouseenter/mouseleave events are used, when available
(Firefox, IE). For delegation however, it should has to use mouseover/mouseout
because it should still fire each time an element is entered or left so it can
check if it matches the selector.

thanks @luisateixeira for the research/fix
f35cbc2
@arian arian added a commit to arian/mootools-core that referenced this issue Feb 11, 2013
@arian arian Fixes #2367, closes #2467 - Use the check when using delegation for m…
…ouseenter.

Since 1.4.2 the native mouseenter/mouseleave events are used, when available
(Firefox, IE). For delegation however, it should has to use mouseover/mouseout
because it should still fire each time an element is entered or left so it can
check if it matches the selector.

thanks @luisateixeira for the research/fix
c58af38
@arian
MooTools member

See #2470

@arian arian added a commit that closed this issue Feb 11, 2013
@arian arian Fixes #2367, closes #2467 - Use the check when using delegation for m…
…ouseenter.

Since 1.4.2 the native mouseenter/mouseleave events are used, when available
(Firefox, IE). For delegation however, it should has to use mouseover/mouseout
because it should still fire each time an element is entered or left so it can
check if it matches the selector.

thanks @luisateixeira for the research/fix
2d057ba
@arian arian closed this in 2d057ba Feb 11, 2013
@arian arian added a commit to ibolmo/mootools-core that referenced this issue Feb 16, 2014
@arian arian Fixes #2367, closes #2467 - Use the check when using delegation for m…
…ouseenter.

Since 1.4.2 the native mouseenter/mouseleave events are used, when available
(Firefox, IE). For delegation however, it should has to use mouseover/mouseout
because it should still fire each time an element is entered or left so it can
check if it matches the selector.

thanks @luisateixeira for the research/fix
09a547f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment