Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Программная навигация по истории textarea (https://javascript.ru/forum/dom-window/32061-programmnaya-navigaciya-po-istorii-textarea.html)

danik.js 02.10.2012 11:08

Программная навигация по истории textarea
 
Как можно программно добавлять undo/redo состояния для textarea.
И как можно отловить события навигации по этим состояниям, кроме как отлавливания oninput и анализа изменений.

Пробовал в скрипте присваивать новые значения - textarea.value = "new value" , но пункт Отменить в контекстном меню появляется только в Firefox. Пробовал создавать событие keydown через document.createEvent('UIEvents'), но эффекта никакого ни в одном браузере.

Благодарю за любую помощь.

danik.js 08.10.2012 17:47

Хоть какие то идеи ? Буду пробовать все что имеет смысл.

tenshi 08.10.2012 18:51

а зачем всё это?

danik.js 09.10.2012 20:00

Есть такой редактор кода на js - ACE

В нем textarea используется только для ввода символов и для получения контекстного меню (с командами Вставить, Копировать, Вырезать)

Хотелось бы оживить команды Отменить, Повторить. Вот и думаю как повлиять на навигацию программно. На программное изменение value эти команды не реагируют (Firefox реагирует).

Serg_pnz 10.10.2012 18:56

Этот редактор посмотри http://elrte.org/demo

tenshi 11.10.2012 06:29

danik.js, там не используется текстария. они даже курсор сами рисуют, так что горячие клавиши работают - и то хорошо.


Serg_pnz, это вообще о другом

danik.js 11.10.2012 17:29

tenshi, еще как используется. Для взаимодействия с буфером обмена, вводом с клавиатуры и для контекстного меню.
Основная причина (которую я знаю), по которой не подходит contenteditable - это невозможность вставки кода из буфера как text/plain в браузерах, неподдерживающих clipboardData( Firefox мать его, и Opera)

Да и в любом случае, содержимое может меняться программно, поэтому нужно иметь возможность повлиять на undo/redo. Пока это получается только в Firefox...

tenshi 12.10.2012 19:02

ух ты, действительно. интересное решение.

text/html всегда можно очистить от тегов..

danik.js 15.10.2012 16:09

Цитата:

Сообщение от tenshi (Сообщение 209703)
ух ты, действительно. интересное решение.

text/html всегда можно очистить от тегов..

Для редактора это не годится. Слишком накладно. И как тогда вставлять html-код?

tenshi 15.10.2012 20:55

не так уж и накладно. а зачем ставлять хтмл код? это же редактор текста


Часовой пояс GMT +3, время: 02:19.