Jquery 调整Meteor中文本区域的大小

Jquery 调整Meteor中文本区域的大小,jquery,meteor,meteorite,Jquery,Meteor,Meteorite,我正在尝试创建一个编辑页面,用户可以在其中编辑文本区域中的内容,该文本区域的大小可以调整为适合内容,我正在使用此插件来实现这一点: 但是当我访问编辑页面时,文本区域不会调整大小以适应内容,只有在我手动刷新页面时才会发生这种情况。代码如下: <template name="postEdit"> <textarea autofocus name="content" type="text" value="">{{content}}</textarea> &l

我正在尝试创建一个编辑页面,用户可以在其中编辑文本区域中的内容,该文本区域的大小可以调整为适合内容,我正在使用此插件来实现这一点:

但是当我访问编辑页面时,文本区域不会调整大小以适应内容,只有在我手动刷新页面时才会发生这种情况。代码如下:

<template name="postEdit">
    <textarea autofocus name="content" type="text" value="">{{content}}</textarea>
</template>

Template.postEdit.rendered = function() {
     $('textarea').autosize(); 
};

当我手动刷新页面并最终调整textarea的大小时,textarea html会发生以下变化:

<textarea class="review" name="review" type="text" value="" placeholder="Blablabla" style="overflow: hidden; word-wrap: break-word; resize: horizontal; height: 664px;"></textarea>

我的代码是否有问题,或者我的方法是否错误

谢谢。

就这样试试

$(document).ready(function(){
 $('textarea').autosize();   
});

实际的问题是,调用插件时DOM没有完全加载。 这应该起作用:

$(function(){
    $("textarea").autosize();
});

我不是jQuery专家,但如果我记得正确,您可以这样做:

Template.postEdit.rendered=function(){
$(this.find('textarea')).autosize();
};

正如“已知问题和解决方案”中所述,您可能需要:

Template.hello.rendered = function(){
    $('textarea').autosize().show().trigger('autosize.resize');
}

谢谢,我在Template.postEdit.rendered中试过了,但没用。如果你在脚本标签中试过呢?还要确保插件已实际加载(即,在开发人员工具的“资源”选项卡中进行检查),类似这样吗$(function(){$(“textarea”).autosize();});将此脚本放在main.html上的最佳位置是什么?插件已加载是的,应该可以正常工作。你可以把它放在任何你想放的地方,只要它在客户端,它不工作,甚至在我手动刷新页面时也不工作:/谢谢,我在Template.postEdit.rendered中尝试过,但是如果你输入
$('textarea')。autosize()在浏览器的控制台中,当页面加载但不工作时,插件未正确加载。感谢您的评论,当我在控制台中输入时,它会打印此内容​​ ,  ​​ , 但是文本区域没有调整大小当我手动刷新页面并且文本区域最终调整大小时,文本区域html会因此而改变:如果执行
$('.review').autosize(),会发生什么情况问题可能是您在镜像元素和您想要的文本区域上都触发了resize。我不确定。。
Template.hello.rendered = function(){
    $('textarea').autosize().show().trigger('autosize.resize');
}