Jquery增长和收缩文本区域

Jquery增长和收缩文本区域,jquery,Jquery,我试图使文本区域在按enter键时增大,在完成删除一行时缩小。换言之,文本区域在编辑文本时仍然足够大,足以容纳其中的文本 除非有人知道更好的方法,否则我现在用jquery检测按键。按enter键很容易使文本区域变大,但我不知道如何在删除回车时使其缩小 您最好如何使用jquery在textarea中删除回车时进行检测?尝试textarea resizer插件: 尝试TextArea resizer插件: 这与他想要的有点不同。这与他想要的有点不同。这是一种观点,但如果做得不对,事情会自动改变大小,

我试图使文本区域在按enter键时增大,在完成删除一行时缩小。换言之,文本区域在编辑文本时仍然足够大,足以容纳其中的文本

除非有人知道更好的方法,否则我现在用jquery检测按键。按enter键很容易使文本区域变大,但我不知道如何在删除回车时使其缩小


您最好如何使用jquery在textarea中删除回车时进行检测?

尝试textarea resizer插件:


尝试TextArea resizer插件:


这与他想要的有点不同。这与他想要的有点不同。这是一种观点,但如果做得不对,事情会自动改变大小,这常常让我感到沮丧。只要它是一个文本区域,这种效果就会有所帮助。不过,我不喜欢它似乎是单行文本输入。我有几个这样的例子,按enter键提交表单只会添加一个回车。@Tom Hubbard:我基本上是在处理一个电子表格,textarea是一个单元格,所以我认为在这种情况下它是合理的。不过,谢谢。这是一种观点,但如果做得不对,事情会自动改变大小,这常常会让我感到沮丧。只要是文本区域,这种效果就会有所帮助。不过,我不喜欢它似乎是单行文本输入。我有几个这样的例子,按enter键提交表单只会添加一个回车。@Tom Hubbard:我基本上是在处理一个电子表格,textarea是一个单元格,所以我认为在这种情况下它是合理的。不过谢谢你。
        var computedElement = window.getComputedStyle($(element)[0]),
        paddingTop = parseInt(computedElement.paddingTop),
        paddingBottom = parseInt(computedElement.paddingBottom),
        borderBottom = parseInt(computedElement.borderBottom),
        borderTop = parseInt(computedElement.borderTop),
        lineHeight = parseInt(computedElement.lineHeight),
        outerHeight = paddingBottom + paddingTop + borderTop + borderBottom;

        var resize = function() {
          //height:auto resets the height to row=1 to get the scrollHeight without white space
          $(element).css('height', 'auto');
          $(element).height($(element)[0].scrollHeight - outerHeight);
        }

        //first resize to set the existing text
        $timeout(function(){
          if($(element).val().length) {
            resize();
          }
        });

        //resize on keyup and keydown 
        $(element).on('keydown keyup', function() {
          $timeout(function(){
            resize();
          });
        });