在 javascript 中存储特定字符所有出现的行号
Storing the line number of all the occurrence of particular character in javascript
我正在关注这个 link Find out the 'line' (row) number of the cursor in a textarea。当用户在 textarea 中写入时,我想将所有出现的“{”的行号存储在数组中。我想在它后面显示数组内容
这里是源码,我试过了:
<textarea rows="10" cols="100" id="editor" onkeypress="hello(event);" ></textarea>
<div id="lineNo"></div>
<script>
function hello(e)
{
var keyp=e.charCode;
var c=0,i;
var arr=new Array();
if(keyp=='123')
{
var arr[c++]=getLineNumber();
}
for (i=0;i<arr.length;i++)
{
document.getElementById("lineNo").innerHTML="Array content is... "+ arr[i];
//document.write(arr[i] + "<br >");
}
}
function getLineNumber() {
var textarea=document.getElementById("editor")
var x=textarea.value.substr(0, textarea.selectionStart).split("\n").length;
return x;
}
</script>
但是数组内容没有显示。请告诉我代码有什么问题,如果可能的话,请告诉我一种更好的方法来存储 javascript 中所有出现的特定字符的行号并显示它。
这是你想做的事情吗:
<textarea rows="10" cols="100" id="editor" onkeypress="hello(event);" ></textarea>
<div id="lineNo"></div>
<script>
var arr = [];
var c = 0;
function hello(e) {
var keyp=e.charCode;
if(keyp=='123') {
arr[c++] = getLineNumber();
}
document.getElementById("lineNo").innerHTML=
"Array content is... "+ arr.join(' ');
}
function getLineNumber() {
var ta=document.getElementById("editor")
var x=ta.value.substr(0, ta.selectionStart).split("\n").length;
console.log(x)
return x;
}
</script>
我正在关注这个 link Find out the 'line' (row) number of the cursor in a textarea。当用户在 textarea 中写入时,我想将所有出现的“{”的行号存储在数组中。我想在它后面显示数组内容
这里是源码,我试过了:
<textarea rows="10" cols="100" id="editor" onkeypress="hello(event);" ></textarea>
<div id="lineNo"></div>
<script>
function hello(e)
{
var keyp=e.charCode;
var c=0,i;
var arr=new Array();
if(keyp=='123')
{
var arr[c++]=getLineNumber();
}
for (i=0;i<arr.length;i++)
{
document.getElementById("lineNo").innerHTML="Array content is... "+ arr[i];
//document.write(arr[i] + "<br >");
}
}
function getLineNumber() {
var textarea=document.getElementById("editor")
var x=textarea.value.substr(0, textarea.selectionStart).split("\n").length;
return x;
}
</script>
但是数组内容没有显示。请告诉我代码有什么问题,如果可能的话,请告诉我一种更好的方法来存储 javascript 中所有出现的特定字符的行号并显示它。
这是你想做的事情吗:
<textarea rows="10" cols="100" id="editor" onkeypress="hello(event);" ></textarea>
<div id="lineNo"></div>
<script>
var arr = [];
var c = 0;
function hello(e) {
var keyp=e.charCode;
if(keyp=='123') {
arr[c++] = getLineNumber();
}
document.getElementById("lineNo").innerHTML=
"Array content is... "+ arr.join(' ');
}
function getLineNumber() {
var ta=document.getElementById("editor")
var x=ta.value.substr(0, ta.selectionStart).split("\n").length;
console.log(x)
return x;
}
</script>