我想找出并跟踪textarea中光标的"行号"(行).("更大的图片"是每次创建/修改/选择新行时解析行上的文本,如果当然没有粘贴文本.这样可以节省解析整个文本的时间间隔.)
StackOverflow上有几个帖子,但没有一个专门回答我的问题,大多数问题是光标位置(以像素为单位)或显示除textarea之外的行号.
我的尝试在下面,它从第1行开始并且不离开textarea时工作正常.单击textarea并在另一行上返回时,它会失败.将文本粘贴到其中时也会失败,因为起始行不是1.
我的JavaScript知识非常有限.
<html>
<head>
<title>DEVBug</title>
<script type="text/javascript">
var total_lines = 1; // total lines
var current_line = 1; // current line
var old_line_count;
// main editor function
function code(e) {
// declare some needed vars
var keypress_code = e.keyCode; // key press
var editor = document.getElementById('editor'); // the editor textarea
var source_code = editor.value; // contents of the editor
// work out how many lines we have used in total
var lines = source_code.split("\n");
var total_lines = lines.length; …Run Code Online (Sandbox Code Playgroud)