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',
'noLineBreaks',
'selectNonEditable',
'moveCaretToEndOnChange',
], function(opt) {
var o = attrs[opt]
opts[opt] = o && o !== 'false'
@ -64,18 +65,20 @@ angular.module('contenteditable', [])
oldRender()
}
element.html(ngModel.$viewValue || '')
el = element[0]
range = document.createRange()
sel = window.getSelection()
if (el.childNodes.length > 0) {
el2 = el.childNodes[el.childNodes.length - 1]
range.setStartAfter(el2)
} else {
range.setStartAfter(el)
if (opts.moveCaretToEndOnChange) {
el = element[0]
range = document.createRange()
sel = window.getSelection()
if (el.childNodes.length > 0) {
el2 = el.childNodes[el.childNodes.length - 1]
range.setStartAfter(el2)
} else {
range.setStartAfter(el)
}
range.collapse(true)
sel.removeAllRanges()
sel.addRange(range)
}
range.collapse(true)
sel.removeAllRanges()
sel.addRange(range)
}
if (opts.selectNonEditable) {
element.bind('click', function(e) {