javascript - 在文本区域中输入时检测新行

标签 javascript jquery

当我在文本区域中输入时,如何检测我正在输入的当前单词是否是换行符中的第一个单词。 我只是想知道我当前的文本是否是文本区域的新行

是否有可能使用 jquery 或 javascript 检测到这一点?

最佳答案

textarea 元素有一个名为 cols 的属性。给定一个文本区域元素:

<textarea name="textarea" id="ta" rows="10" cols="50">Write something here</textarea>

如果字符数大于列数,您可以检查事件监听器(在按键时,更改...任何适合您的需要的内容):

const textArea=document.getElementById("ta");
textArea.addEventListener("keyup", () => {
  const lines = ta.value.split(/\n/);
  let numberOfLines = lines.length;
  document.getElementById("new-lines").innerHTML = numberOfLines;
  for (line of lines) {
    if (line.length > ta.cols) { numberOfLines++; }
  }
  document.getElementById("total-lines").innerHTML = numberOfLines;
  
});
<textarea name="textarea" id="ta" rows="10" cols="50">Write something here</textarea>
<p>New lines (carrier return)<span id="new-lines"></span> </p>
<p>Total lines: <span id="total-lines"></span> </p>

注意:这只适用于等宽字体

关于javascript - 在文本区域中输入时检测新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24573858/

相关文章:

javascript - jQuery.each 在可用时不依赖 Array.forEach 是有原因的吗?

javascript - SHA1 哈希 javascript 实现的一种方式?

javascript - 如何获取数组中 5 分钟间隔内的最后几个小时?

javascript - AngularJS:使用 ng-readonly 只读输入

jquery - 如何在表格中链接 lightbox2?

javascript - 当选择所有带 knockout 的单选按钮时,它无法识别输入

javascript - jquery live 会以 $ ('#somebutton' ).data ('events' ).click 工作吗?

javascript - 我可以使用 javascript 编写 xml 文件,还是必须学习 php/asp/mysql/其他东西?

php - 如何将 .html() 值从 JavaScript 传递到 CodeIgniter Controller ?

javascript - 从使用动态加载的页面进行 Ajax 加载