当我在文本区域中输入时,如何检测我正在输入的当前单词是否是换行符中的第一个单词。 我只是想知道我当前的文本是否是文本区域的新行
是否有可能使用 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/