使用http://www.jacklmoore.com/autosize/插件autosize(document.querySelectorAll('textarea'));可以实现textarea中输入内容是自动改动高度。但是当我使用$('textarea').val(resText);给textarea赋值时,textarea不会自动修改高度。想通过trigger触发change,input,resize事件都没用,只能触发focus事件会修改高度。而在手机端触发focus事件会自动调用输入法,不希望调用输入法,如何解决这个问题?
2 回答
BIG阳
TA贡献1859条经验 获得超6个赞
看了一下,提供了方法:update(),文档里有写。varta=document.querySelector('textarea');autosize(ta);ta.value="Somenewvalue";autosize.update(ta);赋值后update一下就ok了。
慕容3067478
TA贡献1773条经验 获得超3个赞
但是当我使用$('textarea').val(resText);给textarea赋值时,textarea不会自动修改高度。需要手动调用autosize.update()方法手动触发autosize的autosize:update事件。functionupdate(ta){if(!(ta&&ta.nodeName&&ta.nodeName==='TEXTAREA')){return;}varevt=document.createEvent('Event');evt.initEvent('autosize:update',true,false);ta.dispatchEvent(evt);}
添加回答
举报
0/150
提交
取消