有没有办法获得光标所在的节点?

时间:2015-08-05 21:02:31

标签: ace-editor

有没有办法获取光标或鼠标所在的节点?

在下图中,光标位于head标签内(meta.tag.tag-name.xml)

enter image description here

我正在寻找的方法将返回"< head>"中的所有文字。从头到尾,我的意思是"< / head>"。或者它可能会返回对象层次结构中的节点对象。

在同一个例子中,如果你把光标放在CSS" html,body"该方法将返回括号:

html, body  {
    height:100%;
}

{
    height:100%;
}

2 个答案:

答案 0 :(得分:1)

没有内置方法可以做到这一点。但jumtoMatching函数执行类似https://github.com/ajaxorg/ace/blob/v1.2.0/lib/ace/editor.js#L2021的操作。 我认为您可以修改它以返回范围而不是选择它。

答案 1 :(得分:0)

   ace.on("create", function(e) {
        var editor = e.editor;
        var ace = editor.ace;
        ace.on("mousemove", function(ev) {

            //LIMITS the numbers of characters per function search to 30 
            var line = ev.editor.getSelectedText();
            if (letter != line && line != ""&& line.length < 50){
            console.log(line);
            letter = line;
                }
            });
        }, plugin);