Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Undo/redo в execCommand (https://javascript.ru/forum/events/30327-undo-redo-v-execcommand.html)

Apollo_440 31.07.2012 21:26

Undo/redo в execCommand
 
Всем привет.
Есть редактируемый див. Я вставляю ноды кнопками при выделении текста (например жирный, курсив...). Но вот незадача. ExecCommand redo/undo никак не реагирует на изменения. Мне-то понятно почему. Но как возможно, чтобы при вставке ноды можно было отменить данное действие с помощью этой команды? Есть ли другой способ решения данной задачи? Заранее благодарен.

cyber 31.07.2012 21:52

пример кода в студию

Apollo_440 31.07.2012 22:16

Цитата:

Сообщение от cyber (Сообщение 193366)
пример кода в студию

Думаю он не особо удивит.

примерно так:

<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, время: 19:01.