我有一些代码可以将标签插入文本区域(对于 Internet Explorer)。 但我的IE8有问题。如果有很多文本并且我尝试在末尾的某个位置插入文本 - 它会向上滚动。
代码:
<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 id="text1" rows="10" cols="80"></textarea>
最佳答案
两个选项:
- 操作 scrollTop 属性将滚动条移动到末尾:
text1.scrollTop = text1.scrollHeight;
- 使用 moveStart() 将插入符号移至所需位置方法。
关于javascript - IE8向textarea插入文本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3280247/