diff options
| author | Igor Minar | 2012-05-06 09:27:10 -0700 |
|---|---|---|
| committer | Igor Minar | 2012-05-06 23:01:33 -0700 |
| commit | 49dfdf8f0238ef8c473fcb44694f6b5696ecde70 (patch) | |
| tree | db9e407863a264356d52172e089159bb5fb647a1 /src/ng/sniffer.js | |
| parent | 5bcb749abb91dba0847cb9bc900777a67fd55aa8 (diff) | |
| download | angular.js-49dfdf8f0238ef8c473fcb44694f6b5696ecde70.tar.bz2 | |
fix(ngModel): use keydown/change events on IE9 instead of input
On IE9 the input event is not fired when backspace or delete key are pressed or when
cut is performed. This makes listening on the input event unreliable and therefore
it's better for us to just use keydown/change events instead.
Closes #879
Diffstat (limited to 'src/ng/sniffer.js')
| -rw-r--r-- | src/ng/sniffer.js | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/ng/sniffer.js b/src/ng/sniffer.js index 5389dc86..b19e7ccf 100644 --- a/src/ng/sniffer.js +++ b/src/ng/sniffer.js @@ -22,6 +22,11 @@ function $SnifferProvider() { // IE8 compatible mode lies (!$window.document.documentMode || $window.document.documentMode > 7), hasEvent: function(event) { + // IE9 implements 'input' event it's so fubared that we rather pretend that it doesn't have + // it. In particular the event is not fired when backspace or delete key are pressed or + // when cut operation is performed. + if (event == 'input' && msie == 9) return false; + if (isUndefined(eventSupport[event])) { var divElm = $window.document.createElement('div'); eventSupport[event] = 'on' + event in divElm; |
