Javascript 自动设置文本区域的高度

Javascript 自动设置文本区域的高度,javascript,jquery,html,Javascript,Jquery,Html,我有一个文本区域,我希望高度自动增加,但它不起作用,这是我的jQuery: $('.flat_textarea').delegate( 'textarea', 'keyup', function (){ $(this).height( 30 ); if(this.scrollHeight>30) $(this).height(this.scrollHeight); }); $('.flat_textarea').find( 'textarea' ).keyup(); $

我有一个文本区域,我希望高度自动增加,但它不起作用,这是我的jQuery

$('.flat_textarea').delegate( 'textarea', 'keyup', function (){
   $(this).height( 30 );
   if(this.scrollHeight>30) 
 $(this).height(this.scrollHeight);
});

$('.flat_textarea').find( 'textarea' ).keyup();

$('.flat_textarea textarea').on("keyup",function (){
  $(this).height( 30 );
  if(this.scrollHeight>30) 
    $(this).height(this.scrollHeight);
});
HTML:

<form method="POST" class="flat_textarea" >
    <textarea></textarea>
</form>

使用而不是delegate()(delegate()已弃用)-和而不是keyup()

这是一份工作报告。

将代码更改为以下内容:

$('.flat_textarea').on('keypress', 'textarea', function (){
   $(this).height(30);
   if(this.scrollHeight > 30) 
     $(this).height(this.scrollHeight);
});

$('.flat_textarea').find('textarea').keypress();

$('.flat_textarea textarea').on("keypress", function (){
  $(this).height(30);
  if(this.scrollHeight > 30) 
    $(this).height(this.scrollHeight);
});
使用而不是delegate()(delegate()已弃用)-和而不是keyup()

这是一份工作报告。

将代码更改为以下内容:

$('.flat_textarea').on('keypress', 'textarea', function (){
   $(this).height(30);
   if(this.scrollHeight > 30) 
     $(this).height(this.scrollHeight);
});

$('.flat_textarea').find('textarea').keypress();

$('.flat_textarea textarea').on("keypress", function (){
  $(this).height(30);
  if(this.scrollHeight > 30) 
    $(this).height(this.scrollHeight);
});

我没有投你反对票,但我认为有人投了反对票,因为你应该先把按键放在文本区之前line@RachidO. 好的,我仍然不明白为什么downvote在运行时仍然有效,并且包含了一个有效的JSFIDLE,但是我现在已经更改了它,所以希望downvoter会做正确的事情:/我没有投你的反对票,但我想有人投了,因为你应该先把keypress放在textarea之前line@RachidO. 好的,我仍然不明白为什么downvote在运行时仍然有效,并且包含了一个运行中的JSFIDLE,但是我现在已经更改了它,所以希望downvoter会做正确的事情:/