aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/widget/input.js2
-rw-r--r--test/widget/inputSpec.js9
2 files changed, 9 insertions, 2 deletions
diff --git a/src/widget/input.js b/src/widget/input.js
index 3f25f09f..a744e567 100644
--- a/src/widget/input.js
+++ b/src/widget/input.js
@@ -817,7 +817,7 @@ angularWidget('input', function(inputElement){
inputElement.val(widget.$viewValue || '');
};
- inputElement.bind('keydown change', function(event){
+ inputElement.bind('keydown change input', function(event) {
var key = event.keyCode;
if (/*command*/ key != 91 &&
/*modifiers*/ !(15 < key && key < 19) &&
diff --git a/test/widget/inputSpec.js b/test/widget/inputSpec.js
index dfbc506a..e8b0a420 100644
--- a/test/widget/inputSpec.js
+++ b/test/widget/inputSpec.js
@@ -112,7 +112,7 @@ describe('widget: input', function() {
describe("input", function() {
describe("text", function() {
- it('should input-text auto init and handle keydown/change events', function() {
+ it('should input-text auto init and listen on keydown/change/input events', function() {
compile('<input type="text" ng:model="name"/>');
scope.name = 'Adam';
@@ -130,6 +130,13 @@ describe('widget: input', function() {
browserTrigger(element, 'change');
defer.flush();
expect(scope.name).toEqual('Kai');
+
+ if (!(msie<=8)) {
+ element.val('Lunar');
+ browserTrigger(element, 'input');
+ defer.flush();
+ expect(scope.name).toEqual('Lunar');
+ }
});