Хочу сделать аля 'маркер' в тексте, что бы можно было выделить, сохранить это выделение в базу, и при загрузке страницы восстановить выделение. Долго гуглил и нашел библиотеку Rangy
, в принципе это то, что мне и нужно, но не могу разобратся как через нее, сделать 'single selection', в смысле что бы в один момент времени в тексте можно было выделить только один раз, то есть нужно:
Когда пользователь выделят первый раз, то просто выделить, а когда выделение уже существует и пользователь выделяет другой участок текста, то нужно отменить предыдущее выделение и выделить новое, но не могу разобраться как это написать в коде, пробовал вот так написать:
if (this.selObj) {
this.highlighter.removeHighlights(this.highlighter.highlights);
}
this.selObj = rangy.getSelection();
this.highlighter.highlightSelection('text-highlight');
rangy.getSelection().removeAllRanges();
Но не работает, этот код просто отменяет выделение но не выделяет новое, походу из-за того что смещаются координаты текста или что, подскажите как это пофиксить?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок