ACE编辑器线焦点问题

时间:2013-04-02 00:54:34

标签: ace-editor

我想在每行中放置一些不是div标签的文本,并通过鼠标单击来聚焦它们。 默认情况下,ace编辑器只将鼠标光标对焦在文本行内。 我想把重点放在我添加元素的行之外。 (https://github.com/ajaxorg/ace/issues/1342

我在lib / ace / layer / text.js中插入了我的代码,如下所示。(只注意mingji的评论)

this。$ renderLine = function(stringBuilder,row,onlyContents,foldLine){

var lineNumber = row;
if (!foldLine && foldLine != false)
    foldLine = this.session.getFoldLine(row);

if (foldLine)
    var tokens = this.$getFoldLineTokens(row, foldLine);
else
    var tokens = this.session.getTokens(row);


if (!onlyContents) {
    stringBuilder.push(
        "<div class='ace_line' style='height:", this.config.lineHeight, "px'>"
    );
}

if (tokens.length) {
    var splits = this.session.getRowSplitData(row);
    if (splits && splits.length)
        this.$renderWrappedLine(stringBuilder, tokens, splits, onlyContents);
    else
        this.$renderSimpleLine(stringBuilder, tokens);
}

if (this.showInvisibles) {
    if (foldLine)
        row = foldLine.end.row

    stringBuilder.push(
        "<span class='ace_invisible'>",
        row == this.session.getLength() - 1 ? this.EOF_CHAR : this.EOL_CHAR,
        "</span>"
    );
}

****//<<2013.03.30 mingji add this code for comment input
stringBuilder.push(
    "<table id='notegrid",lineNumber,"' border='0' class='ace_notecomment' cellpadding='0' cellspacing='0' style='height:", this.config.lineHeight-4, "px;'> \
    <tr id='R",lineNumber,"'> \
    <td class='ace_notecomment_cn' >//note_cn</td> \
    <td class='ace_notecomment_en' >//note_en</td> \
    </tr> \
    </table>"
);
//>>**

if (!onlyContents)
    stringBuilder.push("</div>");

};

像这样,我的编辑器每行显示一些表格文本。 但我不能把鼠标光标对准线的表td元素。

0 个答案:

没有答案