调整textarea的大小?

调整textarea的大小?,第1张

调整textarea的大小

Chrome不会捕获resize事件,Chrome不会捕获mousedown,因此您需要设置init状态,然后通过mouseup处理更改:

jQuery(document).ready(function(){   var $textareas = jQuery('textarea');   // store init (default) state      $textareas.data('x', $textareas.outerWidth());   $textareas.data('y', $textareas.outerHeight());    $textareas.mouseup(function(){      var $this = jQuery(this);      if (  $this.outerWidth()  != $this.data('x')          || $this.outerHeight() != $this.data('y') )      {          // Resize Action Here          alert( $this.outerWidth()  + ' - ' + $this.data('x') + 'n'     + $this.outerHeight() + ' - ' + $this.data('y')    );      }      // store new height/width      $this.data('x', $this.outerWidth());      $this.data('y', $this.outerHeight());    });});

HTML

<textarea></textarea><textarea></textarea>

注意:

您可以像侯赛因所做的那样附加自己可调整大小的内容,但是如果您想要原始的可调整大小的内容,则可以使用上面的代码
正如布莱恩·唐宁(Bryan Downing)所提到的那样,当您将鼠标悬停在文本区域上方时,将鼠标悬停在上面时,此方法有效。但是,在某些情况下可能不会发生这种情况,例如当浏览器未最大化并且您继续拖动到浏览器范围之外或用于resize:vertical锁定移动时。

对于更高级的功能,您需要添加其他侦听器,可能需要添加队列和间隔扫描程序。还是使用mousemove,就像我相信jQuery可调整大小一样-问题就变成了您对性能和性能有何评价?

更新:此后对浏览器的UI进行了更改。现在,双击角落可以将文本框收缩为其默认大小。因此,您还可能需要在此事件之前/之后捕获更改。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5566317.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存