dis*_*ame 3 javascript ace-editor
我正在编写一个简单的小部件来模拟一个简单的 8 位 CPU。为此,我正在滥用 Ace 编辑器,正如您在图像中心看到的那样,作为我的“ RAM ”视图。
我想突出显示与程序计数器的值相对应的行,我正在使用addMarker()它。
但是,一旦我设置了该标记,我似乎就无法摆脱它。_marker是一个私有成员,它保存最后一个标记集的值。但出于某种原因removeMarker(_marker)没有效果:
/**
*
*/
setMarker: function(position) {
//if(_marker != null) {
window.cpuRamView.session.removeMarker(_marker);
//}
_marker = new window.Range(position, 0, position, _content[position].length);
window.cpuRamView.session.addMarker(
_marker, "programCounterLocation", "fullLine"
);
}
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么?:/
添加标记返回一个 id,removeMarker 需要该 id,因此您可以执行类似的操作
var Range = require("ace/range").Range // not the window Range!!
var _range
setMarker = function(position) {
if(_range != null) {
window.cpuRamView.session.removeMarker(_range.id);
}
_range = new Range(position, 0, position, _content[position].length);
_range.id = window.cpuRamView.session.addMarker(
_range, "programCounterLocation", "fullLine"
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1974 次 |
| 最近记录: |