Rangy: Выделение в тексте

275
30 ноября 2017, 04:04

Хочу сделать аля 'маркер' в тексте, что бы можно было выделить, сохранить это выделение в базу, и при загрузке страницы восстановить выделение. Долго гуглил и нашел библиотеку Rangy, в принципе это то, что мне и нужно, но не могу разобратся как через нее, сделать 'single selection', в смысле что бы в один момент времени в тексте можно было выделить только один раз, то есть нужно: Когда пользователь выделят первый раз, то просто выделить, а когда выделение уже существует и пользователь выделяет другой участок текста, то нужно отменить предыдущее выделение и выделить новое, но не могу разобраться как это написать в коде, пробовал вот так написать:

if (this.selObj) {
    this.highlighter.removeHighlights(this.highlighter.highlights);
}
this.selObj = rangy.getSelection();
this.highlighter.highlightSelection('text-highlight');
rangy.getSelection().removeAllRanges();

Но не работает, этот код просто отменяет выделение но не выделяет новое, походу из-за того что смещаются координаты текста или что, подскажите как это пофиксить?

READ ALSO
Вывод постов из инстаграм на сайте

Вывод постов из инстаграм на сайте

Приветствую! На сайте http://isvektorbeget

238
Парсинг Json в React

Парсинг Json в React

у меня в пост ответе есть JSON

353
SetInterval и Prototype JS [дубликат]

SetInterval и Prototype JS [дубликат]

На данный вопрос уже ответили:

220