codemirror光标怎么显示跟定位

大佬们,我使用的是vue-codemirror@4.0.6的版本,codemirror用的是@5.65.6版本,想请教一下,我想实现当我点击一个按钮,内容就会在光标处插入内容的功能,我已经使用它的api:replaceSelection(str)来实现插入内容了,还剩下两个问题:

1:是当我点了按钮后,光标消失了
2:当我插入如'Sum()'时,我想让光标聚焦在括号里

阅读 5k
2 个回答
var cm = CodeMirror(document.getElementById("editor"), {
    mode: "text/html",
    extraKeys: { Tab: "autocomplete" },
    lineNumbers: true,
    foldGutter: true,
    gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"],
    value: document.getElementById("code").outerHTML,
  });

document.getElementById('insert').addEventListener('click', function() {
  cm.replaceSelection('Sum()', 'start');
  const {line, ch} = cm.getCursor()
  cm.setCursor({line, ch: ch+4})
  cm.focus();
}, false)

完整代码和效果见些示例

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题