Javascript 当键入超过最大宽度时,动态扩展文本区域的高度

Javascript 当键入超过最大宽度时,动态扩展文本区域的高度,javascript,jquery,css,asp.net-mvc,razor,Javascript,Jquery,Css,Asp.net Mvc,Razor,当键入的文本区域元素超过最大宽度时,如何使文本区域水平增长?我也不想看到水平滚动条 呈现html 我喜欢瑜伽;lasdlk-asdks';aksd'asd'asd';拉斯';asd'lasd';作为一个整体,它是一个整体;拉斯德尔;A.sdlka;sdklasd;alsd;lkasda;alskd;lkasd;lkasd;lk使用jquery和textarea的id,如下所示 $(function() { $('#CatchPhrase').autogrow(); }); 使用jque

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

呈现html


我喜欢瑜伽;lasdlk-asdks';aksd'asd'asd';拉斯';asd'lasd';作为一个整体,它是一个整体;拉斯德尔;A.sdlka;sdklasd;alsd;lkasda;alskd;lkasd;lkasd;lk
使用jquery和textarea的id,如下所示

$(function() {
   $('#CatchPhrase').autogrow();
});

使用jquery和textarea的id,如下所示

$(function() {
   $('#CatchPhrase').autogrow();
});

试着这样做:

$('#CatchPhrase').on('input', function() {
  $(this).outerHeight(38).outerHeight(this.scrollHeight);
});
<textarea type="text" value="" placeholder="Autosize"></textarea>
见:


jsiddle:

尝试以下方法:

$('#CatchPhrase').on('input', function() {
  $(this).outerHeight(38).outerHeight(this.scrollHeight);
});
<textarea type="text" value="" placeholder="Autosize"></textarea>
见:


jsiddle:

如果我正确理解了您的问题&您想增加文本区域的水平宽度,可以使用maxlength检查文本字符并使用步骤增加宽度。希望这段代码对你有帮助

$("#profileCatchPhrase").keypress(function() {
    if ($(this).val().length > $(this).attr("data-val-maxlength-max")) {
      var width = parseInt($(this).css("width").split("p")[0]) + 10;
      $(this).css("width", width + "px");
      $(this).attr("data-val-maxlength-max", parseInt($(this).attr("data-val-maxlength-max")) + 5);
    }
  });

在本文中,我使用了10px作为icreament步骤,您可以相应地进行调整。

如果我正确理解了您的问题&您想增加文本区域的水平宽度,您可以使用maxlength检查文本字符并使用步骤增加宽度。希望这段代码对你有帮助

$("#profileCatchPhrase").keypress(function() {
    if ($(this).val().length > $(this).attr("data-val-maxlength-max")) {
      var width = parseInt($(this).css("width").split("p")[0]) + 10;
      $(this).css("width", width + "px");
      $(this).attr("data-val-maxlength-max", parseInt($(this).attr("data-val-maxlength-max")) + 5);
    }
  });

在本文中,我使用了10px作为icreament步骤,您可以相应地进行调整。

好吧,我假设您希望水平而不是垂直扩展textarea,那么您可以尝试以下方法:

$('#CatchPhrase').on('input', function() {
  $(this).outerHeight(38).outerHeight(this.scrollHeight);
});
<textarea type="text" value="" placeholder="Autosize"></textarea>
这将非常有效。您还可以设置textarea max width,因为它应该在一段时间后停止扩展,所以只需在html的标题部分包含此css:

 textarea { 
 max-width: 400px;
 }

好吧,我假设你想水平而不是垂直地扩展textarea,那么你可以尝试以下方法:

$('#CatchPhrase').on('input', function() {
  $(this).outerHeight(38).outerHeight(this.scrollHeight);
});
<textarea type="text" value="" placeholder="Autosize"></textarea>
这将非常有效。您还可以设置textarea max width,因为它应该在一段时间后停止扩展,所以只需在html的标题部分包含此css:

 textarea { 
 max-width: 400px;
 }

是的,这是获取自动增长的插件。此演示链接不会自动增长高度。我想要一些类似但没有滚动条的东西是的,这是获取自动增长插件的方法。这个演示链接不会自动增长高度。我想要一些类似但没有滚动条的东西