diff --git a/packages/ember-views/lib/attr_nodes/attr_node.js b/packages/ember-views/lib/attr_nodes/attr_node.js index 31dcc45408f..17ba8b5d26c 100644 --- a/packages/ember-views/lib/attr_nodes/attr_node.js +++ b/packages/ember-views/lib/attr_nodes/attr_node.js @@ -50,6 +50,11 @@ AttrNode.prototype.render = function render(buffer) { if (this.attrName === 'value' && (value === null || value === undefined)) { value = ''; } + + // If user is typing in a value we don't want to rerender and loose cursor position. + if (this.attrName === 'value' && this._morph.element.value === value) { + return; + } if (this.lastValue !== null || value !== null) { this._morph.setContent(value);