diff --git a/lib/gollum/frontend/public/javascript/gollum-editor/gollum.editor.js b/lib/gollum/frontend/public/javascript/gollum-editor/gollum.editor.js index 0d7fd77d..731f4b59 100755 --- a/lib/gollum/frontend/public/javascript/gollum-editor/gollum.editor.js +++ b/lib/gollum/frontend/public/javascript/gollum-editor/gollum.editor.js @@ -616,12 +616,20 @@ } $field.val( fullStr.substring(0, selPos.start) + replaceText + - fullStr.substring(selPos.end)); + fullStr.substring(selPos.end) ); $field[0].focus(); - if ( selectNew && $field[0].setSelectionRange ) { - $field[0].setSelectionRange( selPos.start, - selPos.start + replaceText.length ); + if ( selectNew ) { + if ( $field[0].setSelectionRange ) { + $field[0].setSelectionRange( selPos.start, + selPos.start + replaceText.length ); + } else if ( $field[0].createTextRange ) { + var range = $field[0].createTextRange(); + range.collapse( true ); + range.moveEnd( 'character', selPos.start + replaceText.length ); + range.moveStart( 'character', selPos.start ); + range.select(); + } } if ( scrollTop ) {