Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery的动画后无法将textarea调整回原始大小?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用jquery的动画后无法将textarea调整回原始大小?

Javascript 使用jquery的动画后无法将textarea调整回原始大小?,javascript,jquery,html,Javascript,Jquery,Html,这个问题很简单,但我搞不懂上面是什么 我有一个文本区域,当用户点击它时,我会将其展开。扩展工作正常。但是,在它被展开后,我无法用鼠标将其调整回原始大小,我只能将其调整回动画制作后停止的尺寸 文本区 考虑到“最小高度”(min height)属性可能会被动画方法或其他方法破坏,我尝试在动画制作完成后手动重置它 myTextArea.on('click', function() { myTextArea.animate({'height': '150px'}, 'slow'); myTex

这个问题很简单,但我搞不懂上面是什么

我有一个文本区域,当用户点击它时,我会将其展开。扩展工作正常。但是,在它被展开后,我无法用鼠标将其调整回原始大小,我只能将其调整回动画制作后停止的尺寸

文本区

考虑到“最小高度”(min height)属性可能会被动画方法或其他方法破坏,我尝试在动画制作完成后手动重置它

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');
);