Ive already tackled this one elsewhere. The problem exists within internet exploader 8.. There is a workaround that I have employed and it seems to be working well. Alternatively you can simply have the folks that use IE8 set the browser for compatibility mode for this site. It's probably a better idea to omit the workaround here, as the member base is small enough that anyone experiencing the problem is bound to speak up about it.
Below is the latest workaround (different than what I have applied) the source of which comes from
http://dev.simplemachines.org/mantis/view.php?id=3354&nbn=20CC
regularexpression (Viewer)
2009-06-06 20:36
edited on: 2009-06-06 21:20
http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?dg=microsoft.public.internetexplorer.beta&tid=b95398ac-e5cc-4642-9c9f-d85d08deeac6&cat=en_us_2BAF8EC5-645C-4477-A380-0F1CF6C102F9&lang=&cr=&sloc=&p=1 [^]
In the month since my last post, this IE8 bug has turned up all over the net.
The only solution I could find on the net is to NOT set a percentage(%) width for the editor (until Ms fix the bug)
Sources/Subs-Editor.php
FIND
'width' => isset($editorOptions['width']) ? $editorOptions['width'] : '70%',
REPLACE
// IE8 Bug - % width causes scrollbar jumping around, so use a px width.
'width' => isset($editorOptions['width']) ? $editorOptions['width'] : ($context['browser']['is_ie8'] ?'700px' : '70%'),
However setting a fixed width might be good for all resolutions.
I did a bit of testing and discovered that that we can abuse min-height/max-height instead.
1. Set fixed width (to anything), [i used 700px just in case]
2. Set min-width afterwards to the percentage width eg 70%
3. Set max-width afterwards to the percentage width eg 70%
WHAHALA!. No more jumping around.
Themes/default/GenericControls.template.php (and similarly for Curve)
FIND
<textarea class="editor" name="', $editor_id, '" id="', $editor_id, '" rows="', $editor_context['rows'], '" cols="', $editor_context['columns'], '" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" tabindex="', $context['tabindex']++, '" style="width: ', $editor_context['width'], '; height: ', $editor_context['height'], ';', isset($context['post_error']['no_message']) || isset($context['post_error']['long_message']) ? 'border: 1px solid red;' : '', '">', $editor_context['value'], '</textarea>
REPLACE
<textarea class="editor" name="', $editor_id, '" id="', $editor_id, '" rows="', $editor_context['rows'], '" cols="', $editor_context['columns'], '" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" tabindex="', $context['tabindex']++, '" style="', ($context['browser']['is_ie8'] ? 'width: 700px; max-width: ' . $editor_context['width'] . '; min-width:' . $editor_context['width'] : 'width: ' . $editor_context['width']) , '; height: ', $editor_context['height'], ';', isset($context['post_error']['no_message']) || isset($context['post_error']['long_message']) ? 'border: 1px solid red;' : '', '">', $editor_context['value'], '</textarea>