javascript - 输入超过最大宽度时动态扩展文本区域的高度

标签 javascript jquery css asp.net-mvc razor

当输入超过文本区域元素的最大宽度时,如何水平增加文本区域?我也不想看到水平滚动条。

呈现的 html

<textarea name="CatchPhrase" class="input-validation-error" id="CatchPhrase" aria-invalid="true" aria-required="true" aria-describedby="CatchPhrase-error" rows="2" cols="20" data-val-required="The Catch Phrase field is required." data-val="true" data-val-maxlength-max="50"
data-val-maxlength="The field Catch Phrase must be a string or array type with a maximum length of '50'." htmlattributes="{ id = profileCatchPhrase, class = form-control }">I like yoga sd;lasdlk asdks';aksd'asd 'asd';las ';asd'lasd';las'dl as'dla'sdl'asld as'd;las'dl; a;sdlka;sdklasd ;alsd;lkasda ;alskd;lkasd ;lkasd;lk</textarea>

渲染 HTML 之前

<div class="form-group">
  @Html.LabelFor(model => model.CatchPhrase, htmlAttributes: new { @class = "control-label col-lg-2 col-md-2 col-sm-2 col-xs-2" })
  <div class="col-lg-10 col-md-10 col-sm-10 col-xs-10">
    @Html.TextAreaFor(model => model.CatchPhrase, new { htmlAttributes = new { id = "profileCatchPhrase", @class = "form-control" } }) @Html.ValidationMessageFor(model => model.CatchPhrase, "", new { @class = "text-danger" })
  </div>
</div>

最佳答案

尝试这样的事情:

$('#CatchPhrase').on('input', function() {
  $(this).outerHeight(38).outerHeight(this.scrollHeight);
});

参见:https://stackoverflow.com/a/34513436/4613398

jsfiddle:https://jsfiddle.net/3qmztmjj/

关于javascript - 输入超过最大宽度时动态扩展文本区域的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35262650/

相关文章:

javascript - 如何让灯箱占据整个页面并让用户看起来无缝衔接?

javascript - 更改最大宽度小于 420px 的浏览器的点击事件 id

javascript - 使用 HTML5 在图像上绘图

javascript - 强制 !important 类与 js-jquery

javascript - 翻转瓷砖

javascript - 不同的单选按钮有不同的音频文件路径,但如何播放呢?

javascript - 在 JavaScript 中,如何判断我运行的是 iPad 1 还是 iPad 2?

html - 如何使图像悬停时的图像响应?

javascript - jquery如何在点击链接时隐藏div

javascript - $.index() 等同于第 n 个 child 吗?