javascript - IE8向textarea插入文本问题

标签 javascript html internet-explorer-8

我有一些代码可以将标签插入文本区域(对于 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/

相关文章:

php - HTML 表单和 PHP 到 mySQL 的数据插入问题

javascript - Html 表单无法使用 JavaScript 验证输入

php - 从 html select 更新 mysqli 查询

html - IE 在我使用服务器名称时忽略条件注释

html - Modernizr 在 IE8 上测试拖放

javascript - AngularJS 在 IE8 中未定义

php - 将变量传递给外部 PHP 文件

javascript - 将 jQuery 事件与 Raphael/Mapael 链接在一起

javascript - 如何通过点击时钟示例来更新输出值

javascript - HTML5 不加载隐藏的 div?