我需要调整textarea(='#overlay')的宽度到其内容。最小宽度应为100px:
'input #overlay': function(e) {
var overlay = $('#overlay'),
element = document.getElementById('overlay'),
pos = overlay.position(),
width = 100;
if (element.scrollWidth > element.clientWidth) {
var diff = Math.ceil((element.scrollWidth - element.clientWidth)/20)*20,
left = pos.left - (diff/2);
width = element.scrollWidth + diff;
overlay.css({left: left, width: width});
}
如果有一条长行,此代码可以扩展textarea。但如果删除该行的某些字符,则无法使其变小。
答案 0 :(得分:1)
您必须在if-part:
之前设置最小值overlay.css({ width: 100 });
然后高度将始终适应所需的高度。