CodeMirror узел getCursor? - PullRequest
       53

CodeMirror узел getCursor?

0 голосов
/ 01 мая 2020

Как мне получить положение узла курсора?

enter image description here

<span role="presentation" style="padding-right: 0.1px;">
  <span class="cm-strong">**dfgdf fghh trth**</span>
</span>

Я пишу уценку панель инструментов .

Я пытаюсь выяснить, текст в текущем положении курсора выделен жирным шрифтом или нет.

псевдокод:

if cursorNode is bold
  remove bold
else
  add bold

Я ожидаю, что что-то вроде getCurrorNode API существует, но просто может не могу найти этот API.


let cursorPos = editor.getCursor();
editor.getTokenAt(cursorPos); //only get a word

токен получить только слово, а не предложение.

1 Ответ

0 голосов
/ 01 мая 2020

document.elementFromPoint + codemirror's cursorCoords:

document.elementFromPoint(cm.cursorCoords(cm.getCursor()).left, 
                          cm.cursorCoords(cm.getCursor()).top);

ref: Определить, над каким элементом указатель мыши находится сверху в Javascript


есть еще одна проблема: это фальшивое изменение .
Даже если вы измените этот элемент, он фактически не отразится на cm. После того, как вы введете случайный символ в этой строке, вернитесь исходное предложение!

...