Программная навигация по истории textarea
Как можно программно добавлять undo/redo состояния для textarea.
И как можно отловить события навигации по этим состояниям, кроме как отлавливания oninput и анализа изменений. Пробовал в скрипте присваивать новые значения - textarea.value = "new value" , но пункт Отменить в контекстном меню появляется только в Firefox. Пробовал создавать событие keydown через document.createEvent('UIEvents'), но эффекта никакого ни в одном браузере. Благодарю за любую помощь. |
Хоть какие то идеи ? Буду пробовать все что имеет смысл.
|
а зачем всё это?
|
Есть такой редактор кода на js - ACE
В нем textarea используется только для ввода символов и для получения контекстного меню (с командами Вставить, Копировать, Вырезать) Хотелось бы оживить команды Отменить, Повторить. Вот и думаю как повлиять на навигацию программно. На программное изменение value эти команды не реагируют (Firefox реагирует). |
Этот редактор посмотри http://elrte.org/demo
|
danik.js, там не используется текстария. они даже курсор сами рисуют, так что горячие клавиши работают - и то хорошо.
Serg_pnz, это вообще о другом |
tenshi, еще как используется. Для взаимодействия с буфером обмена, вводом с клавиатуры и для контекстного меню.
Основная причина (которую я знаю), по которой не подходит contenteditable - это невозможность вставки кода из буфера как text/plain в браузерах, неподдерживающих clipboardData( Firefox мать его, и Opera) Да и в любом случае, содержимое может меняться программно, поэтому нужно иметь возможность повлиять на undo/redo. Пока это получается только в Firefox... |
ух ты, действительно. интересное решение.
text/html всегда можно очистить от тегов.. |
Цитата:
|
не так уж и накладно. а зачем ставлять хтмл код? это же редактор текста
|
Часовой пояс GMT +3, время: 02:19. |