Textarea autogrow不适用于oninput事件

时间:2017-12-15 08:30:23

标签: javascript html

我有一个textarea,其中文本换行工作正常,而且我在javascript中编写了自动增长代码,如果文本换行如代码段所示,则会增加textarea的高度而不是滚动。

但我面临的问题是,当我在身体负荷上使用document.getElementById将值传递给textarea时,textarea大小不会自动增加,但是当我输入任何charachter时,文本区域大小自动增加。 根据我的理解,一旦在textarea中键入任何字符串,就应该生成一个事件吗?

如果我在代码中的任何地方出错了,请纠正我吗?

提前谢谢!



document.getElementById("fee1").value = "text";

function auto_grow(element) {
	
    element.style.height = "5px";
    element.style.height = (element.scrollHeight)+"px";
}

<textarea form ='billsave' class= 'form-control input-sm ftype feet' rows='1' id = 'fee1' name= 'feetype' oninput='auto_grow(this)' required></textarea>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

不,您必须在设置文本后手动触发oninput()事件。

document.getElementById("fee1").value = "text";
document.getElementById("fee1").oninput()

function auto_grow(element) {
    element.style.height = "5px";
    element.style.height = (element.scrollHeight)+"px";
}
<textarea form ='billsave' class= 'form-control input-sm ftype feet' rows='1' id = 'fee1' name= 'feetype' oninput='auto_grow(this)' required></textarea>