javascript - Textarea 将文本拆分为行和列

标签 javascript jquery textarea

嗨,我正在处理一些需要具有这种功能的文本区域:我在配置中获取最大行数和每行最大字符数。但我想不出任何将文本拆分为此配置值的算法。这很容易,但我必须考虑到用户可以自己中断文本,这应该包括在内......任何人都可以帮助我吗?

另请注意,我没有使用等宽字体。

我编写了一些代码来展示我想要实现的目标:

splitIntoLines:function (str, lines, maxCharactersPerLine) {
var strLen = str.length,
    counter = maxCharactersPerLine,
    newStr = '';

if (str.length > 0) {
  for (var i = 0; i < strLen; i++) {
    newStr += str[i];
    counter -= 1;

    if (str[i] === '\n' || str[i] === '\r\n' || counter < 0) {
      counter = maxCharactersPerLine;
    }

    if (counter === 0 && this.countLines(newStr) < lines) {
      newStr += this.newLine;
    }
  }
}

if(newStr.length > this.maxChars){
  newStr = newStr.substring(0, this.maxChars)
}


return newStr;

}

每个 keyUp 事件都会调用此函数。但我认为这不是最好的方法,并且存在一些错误。

最佳答案

简单..同时为文本区域定义行和列属性,例如

<textarea rows="10" cols="30"></textarea>

关于javascript - Textarea 将文本拆分为行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17043359/

相关文章:

javascript - 禁用页面上的所有按钮

javascript - 在 Chrome 中将鼠标悬停在文本区域上的奇怪行为

javascript - 如何在渐进式网络应用程序中的浏览器内存储离线存储永久数据?

javascript - 如何使用 Javascript 或 JQuery 从 Salesforce1 应用程序导航到 iOS 13 中的其他 native 应用程序?

绝对路径的 Javascript 智能感知在 VS 2012 中不起作用

javascript - if 语句中多个 OR 表达式的简写

javascript - 将 chrome 扩展选项保存到 chrome.storage?

java - 检查 JtextField 是否不等于保存的数组

php - WordPress - 如何在不丢失换行符的情况下清理文本区域中的多行文本?

javascript - Typeahead.js - 建议不是函数