From 9feb5531965c31ef18563a3a29fc11aed9c3ad12 Mon Sep 17 00:00:00 2001 From: Eston Bond Date: Fri, 3 Dec 2010 22:27:25 -0800 Subject: [PATCH] IE7/8: Fix replacement text selection --- .../javascript/gollum-editor/gollum.editor.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) 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 ) {