JS自动改变textarea高度问题

发布于 2022-09-01 06:59:25 字数 392 浏览 7 评论 0

使用http://www.jacklmoore.com/autosize/插件
autosize(document.querySelectorAll('textarea'));可以实现textarea中输入内容是自动改动高度。

但是当我使用$('textarea').val(resText);给textarea赋值时,textarea不会自动修改高度。

想通过trigger触发change,input,resize事件都没用,只能触发focus事件会修改高度。而在手机端触发focus事件会自动调用输入法,不希望调用输入法,如何解决这个问题?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

陌伤浅笑 2022-09-08 06:59:25

看了一下,提供了方法:update(),文档里有写。

var ta = document.querySelector('textarea');

autosize(ta);

ta.value = "Some new value";

autosize.update(ta);

赋值后update一下就ok了。

‖放下 2022-09-08 06:59:25

但是当我使用$('textarea').val(resText);给textarea赋值时,textarea不会自动修改高度。

需要手动调用 autosize.update() 方法手动触发 autosize 的 autosize:update 事件。

    function update(ta) {
        if (!(ta && ta.nodeName && ta.nodeName === 'TEXTAREA')) {
            return;
        }var evt = document.createEvent('Event');
        evt.initEvent('autosize:update', true, false);
        ta.dispatchEvent(evt);
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文