ng-change event is not triggered for IE11 when the element has no keydown event fired #14783
Description
Do you want to request a feature or report a bug?
bug
What is the current behavior?
ng-change is not triggered when an input is focused on the keydown event of another element
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://plnkr.co or similar (template: http://plnkr.co/edit/tpl:yBpEi4).
See: http://plnkr.co/edit/wMuouRnMbGWoEAZpnzLX?p=preview
Ensure the focus is on the document, press tab to focus the non-input and then press a key.
What is the expected behavior?
The input is focused, the entered key is inputted and the underlying model is updated, calling the change event bound to the input
What is the motivation / use case for changing the behavior?
Need to ensure that there is consistency across browsers
Which versions of Angular, and which browser / OS are affected by this issue? Did this work in previous versions of Angular?
IE11 is affected by this bug, Chrome is ok. Tested in angular 1.5.6 and latest snapshot
Other information
see line '$sniffer.hasEvent('input')' in angular.js where the alternative is provided. The keydown event is not triggered on the new input so the polyfill does not serve the purpose in this case.
Activity
gkalpak commentedon Jun 15, 2016
Unfortunately, the
input
event is pretty much broken on most IEs, so we can't rely on it.We are doing our best to keep the behavior consistent across browsers.
That said, support of such an uncommon usecase (chaging focus in the middle of the event dispatch flow, so that some events are triggered on an element, but others not) is outside the scope of core imo.
You can still support such usecases, by manually firing the necessary events.
wesleycho commentedon Jun 16, 2016
If I manage to fix up my PR so that the input event can be used in 10 & 11, would this fix the issues for those browsers?
gkalpak commentedon Jun 16, 2016
@wesleycho: What PR? How is it related to this?
(In any case, from what I understand the
input
event on IEs is beyond repair 😃)wesleycho commentedon Jun 16, 2016
#14772
gkalpak commentedon Jun 16, 2016
So, if we were able to use the
input
event for all browsers, things would be better (at least more consistent). But like I said, not very likely...