我在 jquery
中有以下函数 autoheight()
,它根据我们输入的文本自动放大 textbox
,
$(function(){
$(".form-textarea").autoheight();
});
我的问题是,当我使用 jquery
和 ajax
重新加载页面时,该函数停止工作,并且文本框停止根据文本内容增加大小。我的意思是它与事件委托(delegate)有关,有人能找到解决方案吗?
文本区域的html编码功能
<textarea style="overflow: hidden; height: 26.234px;" name="comment" class="form-textarea"></textarea>
通过 jquery 加载的文本区域/不起作用
<textarea name="comment" class="form-textarea"></textarea>
Note - it works fine, if we refresh the page through browser.
最佳答案
您是否确实在 AJAX 调用期间覆盖了受影响的 textarea
元素?
如果是这种情况,您将需要在 AJAX 调用的成功回调中显式调用新元素上的 autoheight()
函数(因为旧元素已被替换且不再适用)在 DOM 中,并且您的函数不知道新元素)。
$.ajax({
url: 'your-target-here',
success: function(){
// Update your content here (or that may already be done)
// Reregister your autoheight function
$(".form-textarea").autoheight();
}
});
关于javascript - 自动增加文本区域大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36521008/