diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ng/directive/input.js | 3 | ||||
| -rw-r--r-- | src/ng/sniffer.js | 5 | 
2 files changed, 7 insertions, 1 deletions
| diff --git a/src/ng/directive/input.js b/src/ng/directive/input.js index dadf07c4..6e394afd 100644 --- a/src/ng/directive/input.js +++ b/src/ng/directive/input.js @@ -379,7 +379,8 @@ function textInputType(scope, element, attr, ctrl, $sniffer, $browser) {      }    }; -  // if the browser does support "input" event, we are fine +  // if the browser does support "input" event, we are fine - except on IE9 which doesn't fire the +  // input event on backspace, delete or cut    if ($sniffer.hasEvent('input')) {      element.bind('input', listener);    } else { 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; | 
