首页 > 解决方案 > Textarea 调整大小 JS 脚本错误

问题描述

我正在尝试修复我为调整<textarea>表单大小而编写的 JavaScript 中的错误。

我希望它根据文本行数调整大小。理想情况下,应该遵循底线。

表格链接:LorenzoMengolini.com/contact

<script>
(function($) { 
var span = $('<span>').css('display','inline-block')
.css('word-break','break-all').appendTo('body').css('visibility','hidden');
function initSpan(textarea){
  span.text(textarea.text())
      .width(textarea.width())      
      .css('font',textarea.css('font'));
}
$('textarea').on({
    input: function(){
      var text = $(this).val();      
      span.text(text);      
      $(this).height(text ? span.height() : '1.1em');
    },
    focus: function(){
     initSpan($(this));
    },
    keypress: function(e){
        if(e.which == 13) e.preventDefault();
    }
});
})(jQuery);
</script>

标签: javascriptformsdebuggingtextarea

解决方案


这段代码不是比javascript函数更好吗?

<textarea name="text" oninput='this.style.height = "";this.style.height = this.scrollHeight + "px"'></textarea>


推荐阅读