0
我正在研究一個小實驗性編輯器,我希望可視化輸入字符之間的時間。因此,我使用javascript和contenteditable div來包裝每個角色的SPAN和timestamp屬性。我建立一個小的功能與rangy的幫助:用(或不用)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);
}
}
現在我面臨兩個問題,這個概念,我希望得到一些幫助:
一個。通過上述功能,輸出以嵌套跨度的形式結束,如下所示:
<span time="12345">a
<span time="12345">b
<span time="12345">c</span>
</span>
</span>
b。即使我可以運行上面的函數,複製&粘貼或拖動&拖放操作也可能會在一些嵌套的範圍內結束......我想知道是否有辦法避免這種情況?
感謝, 安德烈亞斯