diff --git a/assets/js/fake-input.js b/assets/js/fake-input.js
index 07800bec1a2735d8579f83b3c84828864c21e1a3..99ea6b89c594258b3ebc1777ceff935d4cb824ce 100644
--- a/assets/js/fake-input.js
+++ b/assets/js/fake-input.js
@@ -7,8 +7,13 @@ const keyListener = (event) => {
 
 const changeListener = (event) => {
     requestAnimationFrame(() => {
-        const text = event.target.innerText;
-        event.target.innerText = (text === "\n") ? "" : text;
+        const element = event.target;
+        const selectionStart = element.selectionStart;
+        const selectionEnd = element.selectionEnd;
+        const text = element.innerText;
+        element.innerText = (text === "\n") ? "" : text;
+        element.selectionStart = selectionStart;
+        element.selectionEnd = selectionEnd;
     })
 };