Consider the following function to position the cursor at the end of a contenteditable element:
function setEndOfContenteditable(contentEditableElement) { var range,selection; if(document.createRange)//Firefox, Chrome, Opera, Safari, IE 9+ { range = document.createRange(); range.selectNodeContents(contentEditableElement); range.collapse(false); selection = window.getSelection(); selection.removeAllRanges(); selection.addRange(range); } else if(document.selection)//IE 8 and lower { range = document.body.createTextRange(); range.moveToElementText(contentEditableElement); range.collapse(false); range.select(); } }
Working demo
Full snippet:
var val1="testingtextgood"; var text=document.getElementById("para").innerHTML; if(val1!="true") { var afterplace=text.replace("good",val1); document.getElementById("para").innerHTML=afterplace; document.getElementById("para").focus() setEndOfContenteditable(document.getElementById("para")) } function setEndOfContenteditable(contentEditableElement) { var range,selection; if(document.createRange)//Firefox, Chrome, Opera, Safari, IE 9+ { range = document.createRange(); range.selectNodeContents(contentEditableElement); range.collapse(false); selection = window.getSelection(); selection.removeAllRanges(); selection.addRange(range); } else if(document.selection)//IE 8 and lower { range = document.body.createTextRange(); range.moveToElementText(contentEditableElement); range.collapse(false); range.select(); } }
source share