Показать сообщение отдельно
  #10 (permalink)  
Старый 03.01.2020, 20:29
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Andrew K, можно перед <span> добавить пробел нулевой ширины... (Правда, когда уже есть текст, то курсор ставится перед текстом, а не элементом, но я думаю идея понятна)

<button id="btn">Поставить курсор до &lt;span&gt;</button>
<script>
const zws = document.createTextNode("\u200B");
btn.onclick = () => {
	let span = document.querySelector("span"),
		selection = document.getSelection(),
		range = new Range();
	span.before(zws);
	range.setStartBefore(zws);
	selection.removeAllRanges();
	selection.addRange(range);
};
</script>
<style>
span { background: orange; }
</style>
<div contenteditable="true"><span>PDF</span></div>
Ответить с цитированием