Я работаю над небольшим экспериментальным редактором, где я хотел бы визуализировать время между напечатанными символами.Поэтому я использую javascript и contenteditable div, чтобы обернуть каждый символ SPAN и атрибутом timestamp.Я создаю небольшую функцию с помощью rangy :
function insertAtCursor(char, timestamp) {
var sel = rangy.getSelection();
var range = sel.rangeCount ? sel.getRangeAt(0) : null;
if (range) {
var el = document.createElement("span");
$(el).attr('time', timestamp);
el.appendChild(document.createTextNode(char));
range.insertNode(el);
range.setStartAfter(el);
rangy.getSelection().setSingleRange(range);
}
}
Теперь я столкнулся с двумя проблемами с этой концепцией, где я был бы признателен за некоторую помощь:
a,С помощью вышеуказанной функции вывод заканчивается во вложенном диапазоне, как показано здесь:
<span time="12345">a
<span time="12345">b
<span time="12345">c</span>
</span>
</span>
b.Даже если бы я мог запустить вышеупомянутую функцию, действие копирования и вставки или перетаскивания, возможно, также закончилось бы каким-нибудь вложенным диапазоном ... и мне интересно, есть ли способ вообще избежать этого?
Спасибо, Андреас