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