2010-07-19 77 views
2

我有一些代碼插入標籤到textarea(對於Internet Explorer)。 但我有IE8的問題。如果有很多文本,並且我試圖在最後插入文本 - 它會滾動。IE8插入文本到textarea問題

代碼:

<script type="text/javascript"> 
function bold() 
{ 
    var text1 = document.getElementById('text1'); 
    var sel = ''; 
    if (document.selection) 
    { 
     sel = document.selection.createRange(); 
     sel = sel.text; 
    } 
    if(sel) 
    { 
     text1.focus(); 
     document.selection.createRange().text = '<strong>' + sel + '</strong>'; 
    } 
} 
</script> 

<textarea id="text1" rows="10" style="width:100%;"></textarea> 
<br /> 
<input type="button" value="bold" onclick="bold();" /> 

這隻會發生,如果我設置寬度textarea的,那麼代碼工作確定這個標記:

<textarea id="text1" rows="10" cols="80"></textarea> 

回答

3

兩個選項:

  • 操縱scrollTop將滾動條移動到最後的屬性:
    text1.scrollTop = text1.scrollHeight;
  • 使用moveStart()方法將插入符號移動到所需的位置。
+0

非常感謝。它幫助我,所以我發現它足以在插入後添加textRange.select()方法。 – 2010-07-19 11:16:32

+0

'textRange.select()'絕對是要走的路。如果需要,您可以將其摺疊。 – 2010-07-19 12:09:37