В моем приложении я хочу, чтобы пользователь мог выделять кучу текста и выделять его, подобно функциям "маркера" в word / libreoffice и т. Д.
Я получил некоторый ограниченный успех с этим фрагментом, но не удается при выборе более сложного (= блочных элементов?) содержимого:
let sel = document.getSelection()
let range = sel.getRangeAt(0)
let marker = document.createElement('span')
marker.className = 'highlight'
range.surroundContents(marker)
range.collapse()
Итак, как мне перейти от выделения или диапазона к измененному HTML, где каждый текстовый узел внутри обернут в выделениимаркер?Обратите внимание, что мне не особо важно, нужно ли переписывать структуру выделения, если получающийся макет останется прежним.
Здесь можно найти рабочий пример выше: http://jsfiddle.net/7g5nb94w/