Position cursor at end of line?

When I replace a line with another, the cursor moves to the beginning of the line in the text. Can the cursor move at the end, and not at the beginning of a line?

index.jsp

var val1=request.responseText; var text=document.getElementById("para").innerHTML; if(val1!="true") { var afterplace=text.replace("good",val1); document.getElementById("para").innerHTML=afterplace; } 

After replacing, the cursor appears at the beginning of the word I want at the end.

+4
source share
2 answers

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(); } } 
0
source

Use this code: -

 var val1=request.responseText; var text=document.getElementById("para").innerHTML; if(val1!="true"){ var afterplace=text.replace("good",val1); document.getElementById("para").innerHTML=afterplace; document.getElementById("para").focus(); var val = document.getElementById("para").value; document.getElementById("para").value = ''; document.getElementById("para").value = val; } 

This works great for me.

0
source

All Articles