当前位置: 首页 > 面试题库 >

调整textarea的大小?

艾跃
2023-03-14
问题内容

当前版本的Firefox和Chrome包含一个拖动处理程序以调整<textarea>框的大小。我需要捕获调整大小的事件,我认为使用jQuery的resize()事件会很容易,但是它不起作用!

有没有办法捕获它?


问题答案:

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进行了更改。现在,双击角落可以将文本框收缩为其默认大小。因此,您还可能需要在此事件之前/之后捕获更改。



 类似资料:
  • 问题内容: 我在应用程序中使用textarea组件,并动态控制它们的高度。随着用户的键入,只要有足够的文本,高度就会增加。在IE,Firefox和Safari上运行良好。 但是,在Safari中,右下角有一个“句柄”工具,允许用户通过单击和拖动来调整文本区域的大小。我还注意到了stackoverflow的“问问题”页面中textarea的问题。该工具令人困惑,并且基本上会妨碍您的工作。 因此,是否

  • 问题内容: 调整浏览器窗口大小时,有什么方法可以调整jqGrid的大小?我已经尝试过这里描述的方法,但是该技术在IE7中不起作用。 问题答案: 作为后续措施: 由于不可靠,本文中显示的先前代码最终被放弃了。我现在按照jqGrid文档的建议使用以下API函数调整网格大小: 为了进行实际的大小调整,将实现以下逻辑的函数绑定到窗口的resize事件: 使用其父级的clientWidth和(如果不可用)o

  • 我的场景中有一个对象。我希望能够调整窗口的大小,并与它一起调整窗格的大小。我还想在窗格旁边放置一个。 到目前为止,我已经成功地生成了一个完全可调整大小的或一个,其中包含和对象,但当我调整窗口大小时,窗格不会随之调整大小。 以下是带有锚烷的FXML: 只有的版本基本上就是版本中使用的代码,但具有和属性。 如何制作一个场景,使其具有可调整大小的和?

  • 我对JPanel和JFrame还是个新手,可能没有按照我应该的方式使用它们。我正在尝试创建Pong游戏,在创建JFrame并将JPanel添加到它之后,我可以调整JPanel的大小,但我不知道如何调整JFrame的大小以适应它。Game类扩展了JPanel。 主: 编辑: 将setSize更改为setPreferredSize,然后为JFrame调用pack()就可以解决所有问题。

  • 我正在尝试构建一个包含6个窗格(作为父级添加到GridPane布局中)的简单Java项目。我必须在开始时设置窗口大小,并通过参考根布局的宽度和高度,设法将它们均匀地拆分。 但我想要他们调整大小,因为我改变了窗口的大小(使用鼠标,现在他们得到固定的大小)。 下面是我的代码: