only move caret to end on model change when the corresponding attribute is set

fix-space-nbsp
Dmitri Akatov 11 years ago
parent dd8ac4dc44
commit 64fd235450

@ -20,6 +20,7 @@ angular.module('contenteditable', [])
'stripBr', 'stripBr',
'noLineBreaks', 'noLineBreaks',
'selectNonEditable', 'selectNonEditable',
'moveCaretToEndOnChange',
], function(opt) { ], function(opt) {
var o = attrs[opt] var o = attrs[opt]
opts[opt] = o && o !== 'false' opts[opt] = o && o !== 'false'
@ -64,6 +65,7 @@ angular.module('contenteditable', [])
oldRender() oldRender()
} }
element.html(ngModel.$viewValue || '') element.html(ngModel.$viewValue || '')
if (opts.moveCaretToEndOnChange) {
el = element[0] el = element[0]
range = document.createRange() range = document.createRange()
sel = window.getSelection() sel = window.getSelection()
@ -77,6 +79,7 @@ angular.module('contenteditable', [])
sel.removeAllRanges() sel.removeAllRanges()
sel.addRange(range) sel.addRange(range)
} }
}
if (opts.selectNonEditable) { if (opts.selectNonEditable) {
element.bind('click', function(e) { element.bind('click', function(e) {
var range, sel, target var range, sel, target