gpt4 book ai didi

javascript - 王牌编辑器 : Can't get rid of Marker

转载 作者:行者123 更新时间:2023-11-29 18:03:23 26 4
gpt4 key购买 nike

我正在编写一个简单的小部件来模拟一个简单的 8 位 CPU。为此,我正在滥用 Ace 编辑器,正如您在图像中心看到的那样,作为我的“RAM” View 。

enter image description here

我想突出显示对应于程序计数器值的行,我正在使用 addMarker() 来这样做。

但是,一旦我设置了它,我似乎就无法摆脱它。 _marker 是一个私有(private)成员,它保存最后一个标记集的值。但是由于某些原因 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"
);
}

我在这里做错了什么? :/

最佳答案

add marker 返回一个 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"
);
}

关于javascript - 王牌编辑器 : Can't get rid of Marker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33324361/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com