Найдите элемент, в котором начинается или заканчивается диапазон - PullRequest
0 голосов
/ 16 сентября 2018

Я пытаюсь найти элемент, с которого начинается выбранный диапазон.Например:

<p>Hello, <span class="editet">Genei180</span> is My Name</p>

Теперь пользователь выбирает: «ei180 - это мое имя»

Поэтому я хочу что-то вроде startElementofRange (), которое возвращает «объект HTMLSpanElement»
Я, чем хочу, чтобыпри нажатии клавиши удаляется только та часть, которая находится в Span Edíted.

Я знаю о Node.startOffset и Node.startContainer.Но Node.startContainer в этом случае вернет весь p-элемент как текстовый элемент.Но Node.startOffset в этом случае относится к элементу Span, поэтому он будет равен 2. Также могут быть случаи, когда можно выбрать более одного редактируемого элемента Span.Текущий подход заключается в зацикливании true их всех:

Sitenote:

Это для веб-сайта, который позволяет редактировать true тег Javascript Contenteditable = 'true' и отображает все, что изменилось зеленым цветом.Я также хочу читать только измененные части из промежутков, если они представлены.Таким образом, пользователи могут обсудить это и проголосовать в Articel.Это вообще безопасный и разумный подход?

1 Ответ

0 голосов
/ 16 сентября 2018

Я искал недели ...

range.startContainer возвращает тип Note, но не так, как я думал об элементе p, вместо этого он возвращает тип элемента Span.

Так что вы простоМне нужно использовать range.startContainer.parentNode, чтобы получить из него Элемент.

Теперь я чувствую себя глупо.Я оставляю это на всякий случай, если у кого-то есть такая же проблема

...