Проблема с созданием WYSWYG редактора
Т.е. необходимо решить такую задачу:
"Под каким форматированием находиться выделенный фрагмент текста?"
У кого-нибудь есть мысли по данному поводу?
Конечно есть, и не одна)
Спасибо... Читаю.
Не втыкаю !!!
А ты ни как было подумал, что тебе готовое решение в виде кода дадут? ;)
Если эта статья - единственное, что Вы можете предложить, то дела плохи не только у меня.
Ну хотя бы пару комманд, при помощи которых это реализуется привели бы )
Конструкция такова:
Код:
RangeTextObject.parentElement().tagName;
Так мы узнаем последний тэг, влияющий на отображение выделенного фрагмента.
Сложно было подсказать, чтоб я столько времени не тратил?
Кто откликнулся, спасибо )
Остальные пьют ядд !
Только parentElement это свойство, а не метод, и лучше бы использовать parentNode для большей совместимости.
Abell2000, Ты не прав !
Метод parentElelment объекта TextRange сообщает об отношениях между текстовой областью и структурой документа. Данный метод возвращает последний элемент в дереве анализа, который влияет на всю область текста.
Конструкция такова:
Код:
RangeTextObject.parentElement().tagName;
Так мы узнаем последний тэг, влияющий на отображение выделенного фрагмента.
Сложно было подсказать, чтоб я столько времени не тратил?
[/QUOTE]
Не обижайся, "НО". Подсказать в принципе бывает не трудно. Бывает нужно для начала заглянуть в доку или на коленке прикинуть код, что бы постить уже рабочий код. Не все на это время есть. Кроме того, если бы тебе подсказали, то в плане обучения от этого толку мало. Знание пришедшее без усилий так же легко и уходит. Это банально, но факт, не все это понимают.
А тут мало того, что ты сам додумался, так попутно поди еще кучу нового узнал, пока пытался решить задачу. Возможно даже лучше понял то, что раньше знал.
По крайней мере из моего опыта так и следует. Могу над парой методов просидеть всю ночь, однако это время не считаю потраченый зря. Потому что в процессе работы более глубоко понимаешь механизм работы системы ну и обязательно узнаешь что-то новое.
Больше половины проблем (а я так прикидываю ~80%) могут быть решены самими вопрошающими если они запасутся терпением и не поленятся почитать документацию (ссылки на которую можно даже на этом форуме найти). Для некоторых проблем у человека может не быть нужной документации, поэтому в этом случае лучший совет для него это ссылка на соответсвующие документы. И менее 10% проблем действительно не могут быть решены человеком в виду специфичности проблемы.
Метод parentElelment объекта TextRange сообщает об отношениях между текстовой областью и структурой документа. Данный метод возвращает последний элемент в дереве анализа, который влияет на всю область текста.[/QUOTE]
Огорчу тебя. Abell2000 тут прав. parentElelment это именно свойство объекта. И объект этот это узел в дереве DOM. Причем он только для чтения (read only).
Кстати если юзать DOM API, то правильнее будет parentNode.
Перед тем как поддерживать чью-то неверную точку зрения, разберись сам. Ты же сам про это философствовал?
Итак, еще раз:
RangeTextObject.parentElement() - Это метод объекта RangeText !!!
Метод, а не свойство !
Если ты запишешь так:
var par = RangeTextObject.parentElement; - типа свойство
а далее,
alert(par.tagName) получишь ошибку.
Проверь )
Если ты имеешь его в виду в контексте RangeText объекта, то да, соглашусь. Однако этот объект только IE и понимает. И писать такой код означает только одно: НЕ кросс-браузерное приложение для сети. Что есть зло.
Эх ребяты! Помнится года два назад я выдёргивал примитивный редактор из phpBB дл создания админских интерфейсов для сайтов...
Сейчас таких интерфейсов, понятных простым смертным требуется очень много и уровень нужен другой. Я решил эту проблему кардинальным образом.
Есть такой классный компонент FCKeditor http://www.fckeditor.net/
Возможности по форматированию широчайшие. Полный онлайновый аналог Ворда. А если применить скин Office2003 - так можно вообще подумать, что это Ворд интегрирован в страницу (сначала именно так и кажется). Особо хочется подчеркнуть следующие достоинства: вставка форматированного текста прямо из настоящего Ворда без изменений и вставка в текст картинок с автоматическим сохранением их на сервере!!! Тоже касает и ссылок - ставишь ссылку, выбираешь документ у себя на локале и он сразу доступен на сервере.
В общем, скачаете - увидите. В комплекте примеры, скины и встроенная поддержка русского языка (то есть русский язык стоит по умолчанию, если вы пользуетесь русскоязычным браузером). Есть правда некоторые сложности в настройке, не указанные в документации... Но если один раз всё настроить, то потом проблем не будет. Пишите в форум, если надо - помогу.
Закрыто, по причине неуважения автора к форуму.