如何将插入符号设置为etherpad中的特定位置?

时间:2016-02-21 18:23:46

标签: etherpad

我正在创作一个插件,并且在插件的某些操作上,插入符号会回到0:0。我可以用

获得插入位置
exports.aceKeyEvent = function(hook_name, args, cb) {
        line = args.editorInfo.ace_caretLine();
        char = args.editorInfo.ace_caretColumn();
}

..但到目前为止,我没有找到任何设置插入符号。假设是一个Set选择方法,但文档没有给我任何提示。

1 个答案:

答案 0 :(得分:1)

感谢John Mc Lear,解决方案出现了。 example

只有在调用 ace_replaceRange 之后,才会调用 ace_performSelectionChange 在acekeyEvent钩子中设置插入位置,我们在这里获得带有ace_callWithAce的ace对象。

但是,这适用于postAceInit钩子。

        context.ace.callWithAce(function(ace) {
            ace.ace_performSelectionChange([line - 1, char], [line - 1, char], false);
        }, 'padsearch_callstack', true);