For comparison, Angular's `ng-model` directive uses `input` on modern browsers and IE10+ and a combination of the `keydown change paste cut` events on IE8 and IE9.

https://github.com/angular/angular.js/blob/master/src/ng/directive/input.js#L411-L444

(Note that they have `hasEvent('input')` return false in IE9: https://github.com/IgorMinar/angular.js/blob/master/src/ng/sniffer.js#L53-L56.)