这个问题很常见但是我没有看到与我相似的问题。我有我的.cshtml文件,我使用Microsoft MVC HtmlHelpcer类声明了TextArea。代码如下:
@Html.TextArea("contentContainer", new Dictionary<string, object> { { "style", "width: 100%; height: 600px" } })
然后我有一个函数,它一直在从LogFile读取,并且每次有更新时都会将此文件的内容附加/添加到此TextArea。所以我在jQuery中有我的函数,它将内容附加到TextArea,然后我希望它将TextArea滚动到TextArea的最底层。代码非常简单:
appendContent: function (content) {
var $textArea = $('#contentContainer');
var shouldBeScrolled = true;
$textArea.append(content);
var shouldBeScrolled = true;
if (shouldBeScrolled) {
$textArea.scrollTop(
$textArea[0].scrollHeight
);
}
}
请忽略shouldBeScrolled变量。我只是因为后来我计划在滚动时创建一些约束。
好的,基本上这段代码在Chromium上工作得很好,内容会被追加,TextArea会滚动到底部。 在Internet Explorer上,它根本不会滚动。为什么会发生这种情况?
答案 0 :(得分:1)
这很可能是JQuery中的一个错误 - 之前我遇到了同样的问题,作为一种解决方法,我最终滚动到另一个包含TextArea的项目,并且其顶部边界与TextArea重合。
这样的事情:
<div id="TextAreaContainer">
<textarea></textarea>
</div>
然后Javascript看起来像:
$("#TextAreaContainer").scrollTop();