Выбор в редактируемом div не работает, если набран EnterJquery

Программирование на jquery
Ответить
Anonymous
 Выбор в редактируемом div не работает, если набран Enter

Сообщение Anonymous »


У меня есть редактируемый элемент div и несколько блоков текста между начальными тремя обратными кавычками и конечными тремя обратными кавычками маркерами
Допустим, курсор находится где-то между маркерами
Нажав на кнопку, мне нужно выделить весь текущий блок

Этот код работает до тех пор, пока я не наберу Enter в любом месте текущего блока
Кроме того, я считаю, что существует более короткая версия кода

function get_left(){ пусть s = window.getSelection(); пусть диапазон = s.getRangeAt(0); пусть так = range.startOffset; пусть textNode = range.startContainer; пусть textContent = textNode.textContent; пусть startPosition = Math.max(so - 4, 0); пусть a = textContent.substring(startPosition, так); вернуть а; } функция go_left(){ let par = document.getElementById("cstory"); пусть s = window.getSelection(); пусть диапазон = document.createRange(); пусть cp = window.getSelection().getRangeAt(0).startOffset; пусть textNode = par.firstChild; range.setStart(textNode, cp - 1); range.setEnd(textNode, cp - 1); s.removeAllRanges(); s.addRange(диапазон); } $('button').on('click', асинхронная функция(){ while(get_left() !== "```\n"){go_left();} пусть s = window.getSelection(); пусть диапазон = s.getRangeAt(0); пусть история = document.getElementById("cstory").innerText; let nextXIndex = Story.indexOf("\n```", range.endOffset); если(следующийXIndex !== -1){ range.setEnd(range.endContainer, nextXIndex); s.removeAllRanges(); s.addRange(диапазон); } }); .cstory{white-space:pre-wrap; Лоремское море ``` Лорем Ипсум грустно сидеть небо ``` Лоремное небо ``` Лорем Ипсум грустно сидеть небо ``` грустно сидеть
НАЖМИТЕ
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»