Рабочий Undo/Redo, но нужна доработка
Вложений: 2
Хай. Задался целью прикруить к BB-редактору на форуме функции Undo/Redo
Самый подходящий нашел здесь Вырезал из скриптового файла всю функциональную часть, отвечающую за юндо/редо На форуме робит, во всех браузерах, но: работает только с одним textarea Если на странце два textarea, то отменяет/возвращает только в нижнем. ид-имена у textarea, кнопок отмены/возврата и другие ID - уникальны для каждого текстового редактора на одной странице. Понимаю, что просто совпадение фунок или переменных, но мозговых силенок еще мало в этой области. Потыкался, сделал, что стало работать, т.е. два текстовых редактора на однйо странице и у обоих независимо работают Undo/Redo, но опять но: дело в том, надо бекапить не только введеный текст, но бекапить и перед применением BB-кодов, т.е. выделили слово, сделали его [ b ]bbb[ b ] и перед вставкой BBcode тоже забекапить надо, но в варианте, что работает с двумя textarea на одной странце я не могу вызвать функцию бекапа, т.к. эта функа внутренняя :) В первом варианте, функа бекапа внешняя и работает, но не работает с двумя textarea В общем надо, чтобы скрипт работал с неограниченым кол-вом textarea на одной странице и имел возможность вызывать функцию бекапа со стороны. Как то так. Оба варианта прикрепил. Вызываю так после отрисовки textarea: echo "<script type=\"text/javascript\">UndoRedoFunc('".$this->getName()."');</script>"; из другого скрипта функцию бекапа вызывал так: jQuery().undo_redo.backup(); Стили: Код:
.undo_redo_disable { echo " <a href='javascript:void(0);'><img src='undo.gif' id='".$this->getName()."_undo' class='undo_redo_disable' alt='Undo' /></a>"; echo " <a href='javascript:void(0);'><img src='redo.gif' id='".$this->getName()."_redo' class='undo_redo_disable' alt='Redo' /></a>"; |
Вложений: 1
Приложил третий вариант, рабочий с несколькими textarea на одной странице и не требующий внешнего вызова функции бекапа, в общем чего и добивался.
сделал так: если вставляются BB-теги вокруг текста или просто вставляют BB-теги при нажатии кнопок на панели редактора, то ведь после вставки тегов textarea получает фокус. Ну и собственно при получении фокуса срабатывает: areaid.focusin(backup); которое и бекапит данные из textarea на большего ума нехватило :) |
Всем привет, вопрос по теме, воспользовался этим вариантом , поскольку других не нашел, сам вопрос , подключил скрипт на странице
<script type="text/javascript" src="{{ skins_url }}/js/3.js"></script> <script type="text/javascript">UndoRedoFunc('ng_news_content');</script> и кнопки так <a href='javascript:void(0);'><img src='undo.gif' id='ng_news_content_undo' class='undo_redo_disable' alt='Undo' /></a> <a href='javascript:void(0);'><img src='redo.gif' id='ng_news_content_redo' class='undo_redo_disable' alt='Redo' /></a> Но не работает ,что может быть не так, и вопрос можно кнопки переделать на onclick |
Часовой пояс GMT +3, время: 02:13. |