突出显示ace中的单个字符
Highlighting a single character in ace
我想在ace编辑器中突出显示一个字符(在给定位置)。我似乎可以使用addMarker
,但文档几乎不存在,我无法理解我的尝试中发生了什么。
以下是一个快速演示尝试(fidd):
setInterval(function () {
if (currentMarker) {
editor.session.removeMarker(currentMarker);
}
currentMarker = editor.session.addMarker(new Range(1, x, 2, x+1), "marked", "text", false);
x = ++x % 25;
}, 250);
我希望突出显示一个字符,每四分之一秒标记都会切换到旁边的字符。但事实并非如此。
我的问题是*为什么它会这样?*我该如何让它按照我想要的方式运行?*我读过关于"动态"标记的文章,但找不到任何关于这些标记的信息。那么,它们是什么?
您需要为标记的类添加position: absolute;
,并将同一行用于范围new Range(1, x, 1, x+1)
的开始和结束
var editor = ace.edit("editor");
editor.setTheme("ace/theme/chrome");
editor.getSession().setMode("ace/mode/javascript");
var Range = ace.require('ace/range').Range;
var currentMarker;
var x = 0;
setInterval(function () {
if (currentMarker)
editor.session.removeMarker(currentMarker);
currentMarker = editor.session.addMarker(new Range(1, x, 1, x+1), "marked", "text", false);
x = ++x % 25;
}, 250);
#editor {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.marked {
background: red;
color: red;
position: absolute;
}
<div id="editor">function foo(items) { var x = "All this is syntax highlighted"; return x; }
function foo(items) { var x = "All this is syntax highlighted"; return x; }
function foo(items) { var x = "All this is syntax highlighted"; return x; }</div>
<script src="//cdn.jsdelivr.net/ace/1.1.7/min/ace.js" type="text/javascript" charset="utf-8"></script>
相关文章:
- Google Web App 将单元素数组视为单个字符的数组
- 在 JavaScript 时钟中的单个字符之前添加填充 0
- 多个捕获组同时忽略单个字符
- Javascript:测试单个字符在正则表达式字符串中找到
- 在 JavaScript 中按字符串开头或单个字符进行匹配
- jQuery热键插件不适用于单个字符(从a到z)
- 使用 jquery,匹配单个字符后跟冒号并换行 span 标记
- 突出显示单个字符,然后将屏幕刷新为仅这些字符
- RegEx将可变数量的字符替换为单个字符
- 突出显示ace中的单个字符
- 检查是将单个字符更改为字符串,还是将其更改为多个字符
- 在多维数组上循环输出单个字符
- 如何检测文本中单个字符的onclick()或类似字符
- 如果字符串是单个字符,则替换字符串,如果后跟另一个字符,则不替换字符串
- JavaScript函数-遍历字符串,对单个字符进行样式化
- 如何用单个字符替换2个后续字符
- 更改字符串中的单个字符在循环中不起作用
- Javascript正则表达式替换字母数字字符串之间的单个字符
- JSON.解析值是单个字符
- 在数组中搜索单个字符时返回真或假