当你按下Enter键时,我正试图让textarea增长,当你完成删除一行时我会缩小。换句话说,textarea仍然足够大,可以包含文本内部,而文本正在编辑中。
除非有人知道更好的方法,否则现在我正在使用jquery检测按键。在输入印刷机上使textarea变大是相当容易的,但是当你删除回车时我对如何缩小它感到很茫然。
你如何(最好用jquery)检测在textarea中删除回车的时间?
答案 0 :(得分:0)
尝试使用TextArea缩放器插件:
答案 1 :(得分:0)
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();
});
});