Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Event.target not set for mouseEnter/Leave w/o jQuery in IE11 #17228

Closed
simonihmig opened this issue Nov 24, 2018 · 6 comments
Closed

Event.target not set for mouseEnter/Leave w/o jQuery in IE11 #17228

simonihmig opened this issue Nov 24, 2018 · 6 comments

Comments

@simonihmig
Copy link
Contributor

While working on #17227, and having somehow figured out how to run the (ES5-transpiled, jQuery-less) tests in the browser (used /tests/index.html?ie=true&dist=prod&skipPackage=container%2Cember-testing%2C%40ember%2Fdebug&moduleId=4a92ac35&jquery=none), I found that a couple of tests are failing in IE11 due to Event.target being null when using the special handling of mouseEnter/Leave when jQuery is not used.

It's only those assertions for Event.target, the actual events get fired correctly. See here:
bildschirmfoto 2018-11-24 um 02 09 38

This brings up two questions:

  1. why weren't these failing in CI? I guess the browserstack tests do not run the no-jquery tests, but not sure. @rwjblue can you confirm?

  2. how to fix this? The event target is set here for the fake event used in the special handling of mouseEnter/Leave (introduced in [BUGFIX release] fix mouseEnter/Leave event delegation w/o jQuery #16999): https://github.com/emberjs/ember.js/blob/master/packages/%40ember/-internals/views/lib/system/event_dispatcher.js#L326
    It seems for IE11 this is a readonly, non-configurable property, so neither directly setting it nor using defineProperty() (as it is now) works for IE. And of course we cannot use a native Proxy. 🤔

@rwjblue
Copy link
Member

rwjblue commented Nov 24, 2018

why weren't these failing in CI? I guess the browserstack tests do not run the no-jquery tests, but not sure. @rwjblue can you confirm?

Yes, exactly. We only run IE11 with jQuery.

@pixelhandler
Copy link
Contributor

@rwjblue would this be a fair statement, "Ember w/o jQuery is only supported on evergreen browsers, and Safari, so IE11 is must use jQuery" ?

@simonihmig
Copy link
Contributor Author

FWIW, for one of our apps, we dropped jQuery long before we dropped IE11 support. And AFAIK the other tests run fine w/o jQuery (would need to be confirmed), only this rather edge-casey thing makes some problems...

@rwjblue
Copy link
Member

rwjblue commented Dec 6, 2018

I believe this is resolved, @simonihmig can you confirm and close if you agree?

@simonihmig
Copy link
Contributor Author

I believe this is resolved, @simonihmig can you confirm and close if you agree?

@rwjblue I don't think so, unfortunately!

At least if you refer to #17227, which fixes that mouseEnter events are called on SVG nodes in IE11.

However this issue refers to the fact that mouseEnter events on any DOM element do not have a Event.target correctly set up for IE11. And I still have no idea how to fix this. 🤔

@locks
Copy link
Contributor

locks commented Apr 19, 2020

Closing due to inactivity. Post-Octane we are also moving towards on for even handling, which should get a separate issue if there's any bug. Thanks for the discussion!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants