调整输入文本区域的大小

2023-12-06

我想创建一个自动增长的文本区域,所以我使用this指导。它运行良好,但有一个小问题。当您插入大文本并删除它们时,文本区域的大小超出了应有的大小。 每插入一个字符,大小就会减少 1-2 像素,因此插入几个字符后,高度就会再次恢复正常。

要重新创建错误的滚动高度,请插入 'a\n b \n c \n d \ne' 进入文本区域。现在将其全部删除。文本区域保持比现在需要的更大的尺寸。对于每个插入的字符,文本区域都会将其大小调整为正确的值。

$("#message-box").on('input', function() {
  var scroll_height = $("#message-box").get(0).scrollHeight;
  $("#message-box").css('height', scroll_height + 'px');

  $("body > p").remove();
  $("body").append("<p>ScrollHeight: " + scroll_height + "</p>");
});
#message-box {
  resize: none;
  width: 400px;
  min-height: 20px;
  padding: 5px;
  overflow: hidden;
  box-sizing: border-box;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea id="message-box"></textarea>

这是 CodePen 中的示例

如何在删除大文本后立即将文本区域调整为尽可能小的值?


快速将其重置为auto在去之前scrollHeight并重新分配它:

const $mBox = $("#message-box");

$mBox.on('input', function() {
  $(this).height('auto');
  $(this).height($(this).prop('scrollHeight'));
}).trigger('input');
#message-box {
  resize: none;
  width: 100%;
  box-sizing: border-box;
  padding: 5px;
}
<textarea id="message-box"></textarea>

<script src="//code.jquery.com/jquery-3.3.1.min.js"></script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调整输入文本区域的大小 的相关文章

  • 动态检测屏幕高度和屏幕宽度,以精简图像的高度和宽度

    我以前可以display a div标签仅在portrait使用下面提到的代码corrl https stackoverflow com users 15388872 corrl in this https stackoverflow co
  • 3 Div 盒子不适合容器

    在页面上 jerkydirect com base opportunity 容器内有 3 个带有图片的盒子 然而 当在大屏幕上查看时 最后一个框粘在右侧 它在较小的窗口或移动设备上看起来很棒 但在较大的屏幕上则不然 我怎样才能让它正确对齐
  • json、rails、javascript 中的解析错误

    我需要将 ruby 数组放入 javascript 数组中 但出现解析错误 var characters 这就是我将 ruby 嵌入到内联 javascript 中的方式 但它出现了解析错误 我应该如何将此 ruby 数组放入 javasc
  • 以编程方式触发 highchart 散点图上某个点的单击事件

    实际上 我有一个小要求 其中有一个带有点列表和下拉列表的散点图 当我从下拉列表中选择一个项目时 应触发其相应的数据点单击 当我在图表上选择一个数据点时 必须执行一些操作 并且下拉列表应根据选择进行更新 我们有什么办法可以做到这一点吗 我尝试
  • 从 3.1 返回后加载 Rails 3(服务器)时出现问题

    Rails 完全菜鸟 我正在使用 Hartl 教程 到了第 4 章 CSS 4 1 2 一切看起来都很顺利 但遇到了一个问题 使页面上的文字看起来
  • 您网站上的自定义 jQuery 脚本有多少行代码?多少才算是太多呢?

    对于我们的网站 我使用了大量 jQuery 现在我正在查看基础库顶部的 340 行 jQuery 代码 多少是太多了 我将添加更多内容 我什么时候开始尝试压缩代码并最终转向 OOP 行数并不意味着什么 重要的是你实际上在做什么 您可能拥有
  • 替换打字稿中字符串中字符的所有实例?

    我正在尝试用 x 字符替换电子邮件中的所有句号 例如 电子邮件受保护 cdn cgi l email protection 将变为 myxemail emailxcom 电子邮件设置为字符串 我的问题是它不只是替换句号 而是替换每个字符 所
  • SVG 剪辑路径在 Safari 上不起作用

    我有一个简单的动画 从下往上填充 svg 然后淡出 填充是使用clipPath随着使用path with a stroke dasharray stroke dashoffset 问题是clipPath在 Safari 上似乎完全被忽略了
  • 为 Gmail 设计 HTML 电子邮件

    我正在生成一封使用内部样式表的 html 电子邮件 即 h2 class foo Email content here 在 Gmail 中查看时 内部样式表中的所有样式似乎都被忽略 Gmail 似乎忽略了内联规则以外的所有样式 例如 h2
  • 在部分渲染时执行 JavaScript

    我有一些 JavaScript 代码 我想在用户单击其文件夹之一后执行 它会触发 show 操作和 show js erb 从而呈 现部分内容 Show js erb 当用户单击其文件夹之一时触发 如下所示 body append 它成功注
  • iframe 位置居中

    所以我找到了这段用于将内容放在中心的代码 但我的问题是它是为容器制作的 你知道如何为 iframe 制作它吗 或者你知道另一个代码吗 代码 center margin auto width 60 border 3px solid 73AD2
  • 如何在 WebView 中添加 JavaScript 函数并稍后在提交 reCAPTCHA 时从 HTML 调用它

    我在 WebView 中添加一个 JavaScript 函数 如下所示 Kotlin val webView findViewById R id webview as WebView webView getSettings setJavaS
  • 如何更改 div 悬停时的跨度颜色

    我正在尝试更改 div 悬停时跨度的颜色 如何使红色汉堡按钮 即跨度 在 div 悬停时将颜色更改为黑色 PS 现在它在跨度的悬停上执行此操作 JSFiddle https jsfiddle net bjjbqct8 https jsfid
  • 在 React JSX 中返回配对元素

    问题 在 React 中 您希望通过映射数组来创建 DOM 结构 但数组中的每个项目应返回 2 个元素 例如 import React from react import from lodash let Component React ex
  • CSS 字体在 Firefox 中不起作用

    我下面有这个字体代码 它在谷歌浏览器中工作正常 但在火狐浏览器中根本不起作用 为什么
  • 如何在 Aframe 中的平面上加载 gif(具有透明度)(故障)?

    大家好 我是 Aframe 的新手 正在尝试在空间网络环境中设置一大堆 gif 我在飞机上加载 gif 时遇到了一些困难 我已经通过 Aframe 的资产文件夹加载了图像 故障 目前它看起来像这样
  • 在 Javascript 中创建数组

    我对 javascript 不太熟悉 并且在用 javascript 制作 2d 或者也许我可能需要 3d 数组时遇到了一些麻烦 我目前需要收集 2 条信息 一个 ID 和一个值 因此我创建了以下内容 var myArray var id
  • 如何禁用 TinyMCE 文本区域

    我已经尝试了以下所有方法 tbxNote attr disabled disabled doesn t work tbxNote attr disabled true doesn t work either tinyMCE init mod
  • 快速响应的交互式图表/图形:SVG、Canvas 还是其他?

    我正在尝试选择正确的技术来更新一个项目 该项目基本上在可缩放 可平移的图表中渲染数千个点 当前使用 Protovis 的实现性能不佳 在这里查看 http www planethunters org classify http www pl
  • 开玩笑 setTimeout 不暂停测试

    it has working hooks async gt setTimeout gt console log Why don t I run expect true toBe true 15000 我已经查看了这个答案 Jest 文档和几

随机推荐

  • 猫鼬嵌套文档

    我在猫鼬中设置了 2 个模式 var Job new mongoose Schema title String budget Number var JobModel mongoose model Job Job var Customer n
  • Xcode 8.2.1+ 构建失败:位码签名无效

    因此 将 Xcode 从 8 2 1 更新到任何新版本后 我无法构建 运行我的项目 这是我收到的错误 Ld Smash Anarchy build Deployment iphoneos Smash Anarchy build Object
  • Angular 6 PWA 与 Node 不工作

    I have a Angular 6 app that works and registers the SW when served with http server port 8080 command as you can see her
  • fopen() 是否受文件系统限制?

    我编写了一个程序来生成大型 SQL 文件 以便快速填充非常大的数据库 我用 PHP 编写了脚本 当我开始编码时我正在使用fopen and fwrite 当文件变得太大时 程序会将控制权返回给 shell 并且文件将不完整 不幸的是 我不确
  • 阻止程序执行,直到用户单击按钮

    我正在尝试制作一个类似于的模式对话框Swing s JOptionPane 我想呈现一个确认对话框 让用户在我在代码中执行某些操作之前明确地说 是 我无耻地从以下地方偷了这个例子 https gist github com jewelsea
  • MVC 现在是编写 PHP 的唯一方法吗? [关闭]

    Closed 这个问题是无关 目前不接受答案 现在 大量可用于 PHP 的框架都使用 MVC 甚至 ASP net 也有自己的 MVC 模块 我可以看到 MVC 的吸引力 我真的可以并且经常使用它 我看到的唯一缺点是您必须启动整个系统才能执
  • 求和日期范围而不计算mysql中的重叠

    我有一个简单的桌子start date and end date其中的列 这些日期值可能会重叠 id start date end date 1 2011 01 01 2012 04 01 2 2012 05 01 2013 10 01 3
  • 使用 stdin 和 stdout 使用 Java 与外部 C 程序进行通信

    我想做的是在 Java 应用程序中启动 C 程序可执行文件 并允许它们使用 stdin 和 stdout 相互通信 C 程序将等待来自 java 应用程序的命令并回显它 我已经用 gnugo mode gtp 测试了java代码 gnugo
  • java字符串文字可以被垃圾收集吗?如果是,如何证明?

    可以java吗字符串文字 like abc 被垃圾收集 如果是 我们怎样才能以编程方式证明他们是GCed 是的 在 Java7 之后 如果加载字符串文字的类加载器被垃圾收集 并且没有对字符串文字的引用 则字符串文字可以被垃圾收集 注意 在
  • 对于不应该提交的已更改文件,是否有正确的 git 程序?

    我刚刚继承了一个现有的代码库 其中包含多个配置文件 这些配置文件都是通用的 需要针对下载到的每台计算机进行编辑和自定义 Git 显然 告诉我它们已被编辑 并且每次我执行操作时总是将它们显示在 未暂存提交的更改 下git status git
  • ADL 何时应用?

    有3个例子 I typedef int foo namespace B struct S operator int return 24 int foo B S s return 0 int main int t foo B S 24 ADL
  • ZF2 apigility - 我们如何验证 json 数据中的集合

    如何使用 Apigility 获取经过验证的 json 值 例如 我需要验证user id under users集合在以下json数据中 log type split food meal type Break Fast meal date
  • 我可以在oracle中从月到日更改范围间隔分区吗

    我有一个表 其分区如下并具有数百万行数据 表大小为 120 GB PARTITION BY RANGE Read time INTERVAL NUMTOYMINTERVAL 1 MONTH 现在我想用现有数据和未来数据更改为这种分区策略 表
  • 使用 JMS 发送消息在退出时挂起

    我正在尝试创建一个 Java 应用程序客户端项目 该项目将 JMS 消息发送到 Glassfish 服务器上的队列 问题是应用程序发送消息后 它在应该退出时挂起 消息传输成功 但由于某种原因应用程序没有退出 我尝试过调试该应用程序 并且可以
  • 当使用 get-content 回显到屏幕时,如何使 powershell 能够解释 ansi 颜色代码?

    我有一个日志文件 其中包含各种文本周围的 ansi 颜色代码 我使用 powershell 语言命令将其回显到控制台 get content logfile log wait 这样我就可以看到最新的日志更改 但是 所有 ansi 颜色代码都
  • 从 WooCommerce 中的所有优惠券中排除产品

    我在互联网上进行了搜索 但尽管有无数人问这个问题 但似乎没有任何答案 有什么办法可以从所有优惠券中排除特定产品吗 我知道你可以在优惠券级别上做到这一点 但这相当混乱 特别是因为很多人都有自动优惠券 几个人创建优惠券等 TLDR 任何使产品排
  • 制作一个位于内容区域之外的 div,但在浏览器窗口缩小时不会导致水平滚动条出现

    假设您有一个网站 其正文背景颜色为红色 内容区域为白色背景 宽度为 1 000 像素 现在 假设您希望内容区域上有一个投影 该投影在内容区域和红色背景的交界处最暗 并且当它从左侧离开左侧和从右侧离开右侧时变得不那么不透明 它基本上看起来像这
  • 未捕获的异常“Swift_TransportException”,消息为“无法与主机 smtp.gmail.com 建立连接 [连接超时 #110]”

    我已经在谷歌中搜索过它并尝试了这里的所有建议堆栈溢出但我仍然得到致命错误 我在用SwiftMailer用于发送和email to GMAIL 它在我的本地主机上完美运行 但是当我上传它并尝试时它给了我一个致命错误 这是我的代码的一部分 re
  • 如何给请求设置Tag并从Response Volley异步请求中获取?

    我有一个带有多个 REST Api 的 Android 应用程序 API 使用 Volley 库进行管理 响应正在得到 并且运行良好 但是当我发出异步请求时 我无法识别每个请求的响应 我的请求方法是这样的 private void http
  • 调整输入文本区域的大小

    我想创建一个自动增长的文本区域 所以我使用this指导 它运行良好 但有一个小问题 当您插入大文本并删除它们时 文本区域的大小超出了应有的大小 每插入一个字符 大小就会减少 1 2 像素 因此插入几个字符后 高度就会再次恢复正常 要重新创建