0

我有这个 jQuery:

$(document).on("keyup", "[id$=explainPaymentTextBox]", function (e) {
    console.log("explainPaymentTextBox keyup reached");
    while ($(this).outerHeight() < this.scrollHeight + parseFloat($(this).css("borderTopWidth")) + parseFloat($(this).css("borderBottomWidth"))) {
        $(this).height($(this).height() + 1);
    };
});

...以及这个相关的 C# 代码隐藏:

boxPaymentExplanation = new TextBox()
{
    CssClass = "dplatypus-webform-field-input",
    ID = "explainPaymentTextBox"
};
boxPaymentExplanation.Width = 660;
boxPaymentExplanation.Style.Add("TextMode", "MultiLine");
boxPaymentExplanation.TextMode = TextBoxMode.MultiLine;
this.Controls.Add(boxPaymentExplanation);

...在 Chrome 中运行良好(文本框向上移动/在输入文本时垂直增长,以显示所有文本):

在此处输入图像描述

在 IE 中,虽然(浏览器模式 = Internet Explorer 8,这显然是用户在这里看到的标准模式),但它不起作用:

在此处输入图像描述

(该文本框中有更多的文本行,但它们不显示)。

是否可以告诉 IE 直起身子并正确飞行,或者 IE 用户注定要拥有一个静态大小的文本框?

4

1 回答 1

1

jQuery 2.x 支持 IE9+

jQuery 1.x 支持 IE6+

我假设您只使用 2.x,因为您的代码在 IE8 中不起作用。

https://jquery.com/browser-support/

于 2015-07-02T23:42:42.333 回答