javascript - 使用 JavaScript 或 jQuery 计算 textarea 中显示的行数
问题描述
当我说行时,我指的是文本区域中显示的换行。一条长线将换成多条线。如果一行(以换行符结尾)换行成三行,则计数必须为三。
问题是换行符不仅发生在空格处,还发生在其他字符序列处。例如在 Firefox 中,如果同一行中没有足够的空间,aaaaaa*<bbbbbb
将会中断。*
这意味着我们不能简单地使用文本区域的宽度和空格可以容纳的字符数来计算显示的行数。显然,计算换行符没有用,因为它忽略了换行。有一种方法可以通过使用 textarea 属性在换行符处强制插入换行符wrap="hard"
。据我了解,这只发生在表单提交到服务器时。这不是一个合适的解决方案,因为我们希望在 JavaScript 中进行计数。
问题的另一个变体是,“有没有办法将光标移动到下一个显示的行?” 我尝试了以下操作,但这根本不会移动光标,它只会“模仿”向下箭头键事件:
var e = $.Event( "keydown", { which: 40 } );
...
$(this).trigger(e);
解决方案
推荐阅读
- file - CS50 IDE 无法在具有名称属性的输入中上传文件。如果我这样做,我会收到错误 500
- raspberry-pi - 是否有任何大于 15 英寸的 LCD 显示器可以在 Raspberry Pi 4(在 Kiosk 模式下运行的 Chromium 浏览器)中支持多点触控?
- excel - Gmail 使用 Excel 宏错误发送的格鲁吉亚文本
- r - 如何过滤R中只有特定值的列?
- java - 使用 Maven 可以实现角度延迟加载模块
- javascript - 制表符:切换列时,顶部和按钮计算不会移动位置。如何在不丢失滚动位置的情况下切换列和刷新表?
- windows - 在 Windows 10 PC 上的 iOS 13+ 上调试 Safari
- https - Oracle Apex Google 登录 HTTPS ORDS
- reactjs - 反应上下文提供程序组件中的测试功能
- kotlin - 谁能告诉我如何在 kotlin 的点击监听器上使用 recyclerview