项目中用到了textarea自动扩展高度的功能,网上查了几个都不太完善,稍微修改了一下,主要是添加了当内容删除时候的自动减少高度功能。如需指定textarea,修改选择器即可。
$(document).on("input propertychange", "textarea", function (e) { var target = e.target; // 保存初始高度,之后需要重新设置一下初始高度,避免只能增高不能减低。 var dh = $(target).attr(‘defaultHeight‘) || 0; if (!dh) { dh = target.clientHeight; $(target).attr(‘defaultHeight‘, dh); } target.style.height = dh +‘px‘; var clientHeight = target.clientHeight; var scrollHeight = target.scrollHeight; if (clientHeight !== scrollHeight) { target.style.height = scrollHeight + 10 + "px"; } });
时间: 2024-11-05 16:09:01