Fixes #1561
authorAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Wed, 20 Mar 2013 13:47:59 +0000 (14:47 +0100)
committerAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Wed, 20 Mar 2013 13:47:59 +0000 (14:47 +0100)
redakcja/static/js/wiki/view_editor_wysiwyg.js

index 5e1fd60..3a5c411 100644 (file)
         /* http://www.scottklarr.com/topic/425/how-to-insert-text-into-a-textarea-where-the-cursor-is/ */
         var scrollPos = txtarea.scrollTop; 
         var strPos = 0; 
         /* http://www.scottklarr.com/topic/425/how-to-insert-text-into-a-textarea-where-the-cursor-is/ */
         var scrollPos = txtarea.scrollTop; 
         var strPos = 0; 
+        var backStart = 0;
         var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ? "ff" : (document.selection ? "ie" : false ) );
         if (br == "ie") { 
             txtarea.focus();
             var range = document.selection.createRange(); 
             range.moveStart ('character', -txtarea.value.length); 
         var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ? "ff" : (document.selection ? "ie" : false ) );
         if (br == "ie") { 
             txtarea.focus();
             var range = document.selection.createRange(); 
             range.moveStart ('character', -txtarea.value.length); 
-            strPos = range.text.length; 
-        } else if (br == "ff") strPos = txtarea.selectionStart; 
+            strPos = backStart = range.text.length; 
+        } else if (br == "ff") {
+            strPos = txtarea.selectionStart; 
+            backStart = txtarea.selectionEnd;
+        }
         var front = (txtarea.value).substring(0,strPos); 
         var front = (txtarea.value).substring(0,strPos); 
-        var back = (txtarea.value).substring(strPos,txtarea.value.length); 
+        var back = (txtarea.value).substring(backStart,txtarea.value.length); 
         txtarea.value=front+text+back; 
         strPos = strPos + text.length; 
         if (br == "ie") { 
         txtarea.value=front+text+back; 
         strPos = strPos + text.length; 
         if (br == "ie") {