Javascript 使用jquery的动画后无法将textarea调整回原始大小?
这个问题很简单,但我搞不懂上面是什么 我有一个文本区域,当用户点击它时,我会将其展开。扩展工作正常。但是,在它被展开后,我无法用鼠标将其调整回原始大小,我只能将其调整回动画制作后停止的尺寸 文本区 考虑到“最小高度”(min height)属性可能会被动画方法或其他方法破坏,我尝试在动画制作完成后手动重置它Javascript 使用jquery的动画后无法将textarea调整回原始大小?,javascript,jquery,html,Javascript,Jquery,Html,这个问题很简单,但我搞不懂上面是什么 我有一个文本区域,当用户点击它时,我会将其展开。扩展工作正常。但是,在它被展开后,我无法用鼠标将其调整回原始大小,我只能将其调整回动画制作后停止的尺寸 文本区 考虑到“最小高度”(min height)属性可能会被动画方法或其他方法破坏,我尝试在动画制作完成后手动重置它 myTextArea.on('click', function() { myTextArea.animate({'height': '150px'}, 'slow'); myTex
myTextArea.on('click', function() {
myTextArea.animate({'height': '150px'}, 'slow');
myTextArea.css('min-height': '10px');
);
但是,唉,没有运气。有人知道我哪里出错了吗 试试这个:在我们使用的css中,不是:
$'textarea'。设置{'height':'150px'},'slow'的动画;
var minheight=parseInt$'textarea'.css'min-height';
控制台。对数最小高度;
$'textarea'。单击,函数{
$this.animate{'height':'100px'}'slow';
$this.css'min-height',minheight+'px';
};
如果且仅当用户已使用拖动处理程序调整其大小时,它可以调整回原始最小高度 没有处理文本区域大小调整的事件。无法使用.trigger来模拟它。用户必须这样做,仅此而已 这似乎是文本区域的一个已知问题。通过检查textarea的style.width和style.height属性,您可能能够检测到用户是否已经这样做,但您不能使用传统事件强制它按照您希望的方式进行操作
如果你真的需要这个功能,试试这个插件。它用自己更健壮的处理程序覆盖默认的textarea resize函数。您也可以使用类似的方法创建自己的调整大小处理程序。存储原始高度并使用该高度进行重置,或者简单地使用removeAttr'style'无法解决问题。试试你自己的代码片段。@Makaze什么是不重新调整大小的。你能解释一下你想要什么吗。如果用户手动将textarea的大小从默认值调整到150px,他们可以将其重新调整到最小高度。如果以编程方式编辑高度,则textarea的内部最小高度将发生更改,并且无法再将其调整为低于150px的大小。询问者希望在设置转换AFAIK动画后,它的大小可以调整到150px以下。
myTextArea.on('click', function() {
myTextArea.animate({
'height': '150px'
}, 'slow'));
myTextArea.on('click', function() {
myTextArea.animate({'height': '150px'}, 'slow');
myTextArea.css('min-height': '10px');
);