![]() |
Помогите с соединением двух функцией на JavaScript (DokuWiki)
Вопрос доволно специфичный, не знаю даже реализуемо это. Предисловие довольно длинное :)
Есть вики-движок -DokuWiki. http://wiki.splitbrain.org/wiki:ru:syntax образец страницы. Нажимаем кнопку Edit page и видим тулбар с иконками. результат использования некоторых из них аналогично здешним иконкам - обрамление некоего текста тегами. Функция вставки смайликов работает по другому, щелкаем по кнопке-смайлик, вылезает окошко и уже в нем выбираем смайлик, который потом вставляется в текст. Также в движке реализованна подсветка синтаксиса. http://animesarov.net.ru/wiki:syntax...тка синтаксиса, только вот кнопки такой нет. Хочу сделать. Я так думаю, что все функции тулбара завязанны на этой функции. И мне думается так, что нужно соединить каким-то образом два действия данной функции - format & picker PHP код:
|
что-то я не въехал, чего же ты хочешь???
подсветку символа включать или новый тип кнопки??? приведенный кусок кода создает кнопки на тулбаре а что делает функция showPicker??? |
Вложений: 1
Цитата:
В общем-то получилось где-то наполовину. Тег вставляется, но вот если есть выделенный текст, то он не обрамляется тегами, как надо, а просто стирается. К сожалению негде показать, что получилось. Функции, мною добавленные, находятся в пркрепленном файле в самом конце файла. Цитата:
<code css> </code> А поскольку на месте css может оказаться любое другое слово, то их надо бы выбирать во всплывающем окошке. |
Вложений: 2
Вот, что получилось. Кнопки были найдены :)
На втором скрине результат и кнопки "php" и кнопки побольше. |
Т.е. они там заложены были, их только активировать надо было, так?
|
Нет. Имелось ввиду, что кнопки какие были, такие и запихнул, ну лень было рисовать специально кнопки. :)
|
вот это место поподробнее:
Код:
case 'picker': а вот чтобы текст между тэгами сохранялся... посмотри функцию insertTags если сможешь, выложи сюда код |
Все функции в прикрепленном файле edit.rar. Последние две функции мои, исправленные.
проблема заключается в этом участке кода. PHP код:
............. |
итак, тебе вместо
Код:
text="<code "+text+"></code>"; надо использовать Код:
insertTags(edid,'<code '+text+'>', '</code>', ''); а что за проблема??? слова не рисуются??? или окошко не показывается??? |
Спасибо. Держи первое сообщение. :)
Нечто подобное уже делал, но я сначала определял переменные tagclose & tagopen, а потом их уже подставлял. И 4 переменную не убирал - поэтому наверно не работало. А может еще какая мелочь. А зачем убирать функцию insertAtCarret? Осталаль проблема, но это уже дело в Опере. Во всплывающем окошке практически нет пробелов, а если их добавляешь, то в ИЕ пробелы получаются большими. Ладно, это мелочи :) |
Цитата:
т.о. если ничего не выделено, то при помощи insertTags пустоту обрамляем тэгами и получаем результат, схожий с insertAtCarret, с той лишь разницей, что в случае с insertAtCarret курсор находится после текста, а с insertTags между тэгами (это по идее) а если выделен текст, то insertTags обрамляет текст тэгами, а insertAtCarret заменяет его на предложенный тобой. Цитата:
|
Время: 05:33. |
Время: 05:33.
© OSzone.net 2001-