Undo/redo в execCommand
Всем привет.
Есть редактируемый див. Я вставляю ноды кнопками при выделении текста (например жирный, курсив...). Но вот незадача. ExecCommand redo/undo никак не реагирует на изменения. Мне-то понятно почему. Но как возможно, чтобы при вставке ноды можно было отменить данное действие с помощью этой команды? Есть ли другой способ решения данной задачи? Заранее благодарен. |
пример кода в студию
|
Цитата:
примерно так: <input id="setBold" type="button"> <div id="frame" contenteditable>text text text text text text text</div>
document.setBold.onclick = function(){
var a = document.getElementById ("frame");
if (typeof a.getSelection != "undefined") {
var selection = a.getSelection();
var selRange = selection.getRangeAt(0);
var obj = a.document.createElement("strong");
var sel = selRange.cloneContents();
obj.appendChild(sel);
selRange.deleteContents();
a.focus();
selRange.insertNode(obj);
}
}
Код по крайней мере работает |
| Часовой пояс GMT +3, время: 10:14. |