如何在codemirror中显示行数
How to show line count in codemirror
我在我的应用程序中使用 codemirror API,我试图显示总行数以及何时键入以计算新行,但它给了我另一件事
我使用此脚本获取数字的 last-child,但是当我有 29 行时它显示此 1234567891011121314151617181920212223242526272829 这不是我想要做的它只显示 29 而且 onkeydown 根本不起作用
<script>
$(document).ready(function(){
var tolalline = $('.CodeMirror-linenumber:last-child').text();
$('#hcunter').text(tolalline);
$('#inputTextToSave').keydown(function(){
var tolalline = $('.CodeMirror-linenumber:last-child').text();
$('#hcunter').text(tolalline);
}
);
$("#alterTool").click(function(){
$("#EditTool").toggle(1000);
});
});
</script>
代码镜像
<script>
var editor = CodeMirror.fromTextArea(document.getElementById("inputTextToSave"),
{
lineNumbers: true,
viewportMargin: Infinity,
//Theme
styleActiveLine: true,
matchBrackets: true,
gutter: true
});
</script>
要获取行数,您必须使用 css 选择器:
.CodeMirror-code > div:last-child div.CodeMirror-gutter-elt
所以,如果你想统计行数,你将覆盖CodeMirror配置的extraKeys属性中的回车键。它将是:
extraKeys:
{
Enter: function(){
setTimeout(function() {
var tolalline = $('.CodeMirror-code > div:last-child div.CodeMirror-gutter-elt').text();
$('#hcunter').text(tolalline);
}, 0);
return CodeMirror.Pass;
}
}
我设置了一个 setTimeout 来创建一个必要的最小延迟。您现在不需要设置 onKeyDown 事件。
所有代码:
var editor = CodeMirror.fromTextArea(document.getElementById("inputTextToSave"),
{
lineNumbers: true,
viewportMargin: Infinity,
//Theme
styleActiveLine: true,
matchBrackets: true,
gutter: true,
extraKeys:
{
Enter: function(){
setTimeout(function() {
var tolalline = $('.CodeMirror-code > div:last-child div.CodeMirror-gutter-elt').text();
$('#hcunter').text(tolalline);
}, 0);
return CodeMirror.Pass;
}
}
}
);
$(document).ready(function(){
var tolalline = $('.CodeMirror-code > div:last-child div.CodeMirror-gutter-elt').text();
$('#hcunter').text(tolalline);
$("#alterTool").click(function(){
$("#EditTool").toggle(1000);
});
});
希望是你想要的! :-)
我在我的应用程序中使用 codemirror API,我试图显示总行数以及何时键入以计算新行,但它给了我另一件事
我使用此脚本获取数字的 last-child,但是当我有 29 行时它显示此 1234567891011121314151617181920212223242526272829 这不是我想要做的它只显示 29 而且 onkeydown 根本不起作用
<script>
$(document).ready(function(){
var tolalline = $('.CodeMirror-linenumber:last-child').text();
$('#hcunter').text(tolalline);
$('#inputTextToSave').keydown(function(){
var tolalline = $('.CodeMirror-linenumber:last-child').text();
$('#hcunter').text(tolalline);
}
);
$("#alterTool").click(function(){
$("#EditTool").toggle(1000);
});
});
</script>
代码镜像
<script>
var editor = CodeMirror.fromTextArea(document.getElementById("inputTextToSave"),
{
lineNumbers: true,
viewportMargin: Infinity,
//Theme
styleActiveLine: true,
matchBrackets: true,
gutter: true
});
</script>
要获取行数,您必须使用 css 选择器:
.CodeMirror-code > div:last-child div.CodeMirror-gutter-elt
所以,如果你想统计行数,你将覆盖CodeMirror配置的extraKeys属性中的回车键。它将是:
extraKeys:
{
Enter: function(){
setTimeout(function() {
var tolalline = $('.CodeMirror-code > div:last-child div.CodeMirror-gutter-elt').text();
$('#hcunter').text(tolalline);
}, 0);
return CodeMirror.Pass;
}
}
我设置了一个 setTimeout 来创建一个必要的最小延迟。您现在不需要设置 onKeyDown 事件。
所有代码:
var editor = CodeMirror.fromTextArea(document.getElementById("inputTextToSave"),
{
lineNumbers: true,
viewportMargin: Infinity,
//Theme
styleActiveLine: true,
matchBrackets: true,
gutter: true,
extraKeys:
{
Enter: function(){
setTimeout(function() {
var tolalline = $('.CodeMirror-code > div:last-child div.CodeMirror-gutter-elt').text();
$('#hcunter').text(tolalline);
}, 0);
return CodeMirror.Pass;
}
}
}
);
$(document).ready(function(){
var tolalline = $('.CodeMirror-code > div:last-child div.CodeMirror-gutter-elt').text();
$('#hcunter').text(tolalline);
$("#alterTool").click(function(){
$("#EditTool").toggle(1000);
});
});
希望是你想要的! :-)