2009-02-04 3 views
0

Я в ситуации, когда я не контролирую создание одного или нескольких YUI Rich Text Editors; это делается в чужой библиотеке.Изменение панели инструментов YUI RTE после ее создания

Для целей этой дискуссии:

  • заплат code-- обезьяну или otherwise-- это не вариант.
  • удаление (editor.destroy()) редактор, который уже есть и добавление моего собственного тоже не является вариантом. Код, который создает редактор, делает Другие вещи к нему и ссылается на ссылку и т. Д. Мне нужно, чтобы изменить текущий редактор.

К созданию я имею в виду:

var myEditor = new YAHOO.widget.Editor(control, { 
    // toolbar config would go here if I controled this code 
}); 

myEditor.render(); 

Проблема заключается в том, что я хотел бы эти редакторы, чтобы иметь различную конфигурацию панели инструментов, что они имеют. Чтобы быть точным, я хотел бы удалить пучок кнопок (default немного раздулся).

Мне удалось получить редактор с помощью инструмента EditorInfo, но я ничего не мог с ним поделать. Существует apparently переменная в редакторе, которая позволяет вам получить экземпляр Toolbar, но когда я попробовал, все, что у меня было, было null.

Итак, есть способ изменить YUI Rich Text Editor после того, как render() был вызван, чтобы удалить кнопки панели инструментов?

ответ

1

Поскольку я не вижу код, немного сложно дать ответ. Но как только вы получите доступ к экземпляру редактора, свойство панели инструментов должно предоставить вам полный доступ к методам addButton/detroyButton.

var editor = YAHOO.widget.EditorInfo._instances['editor_id']; 
editor.toolbar.destroyButton('bold'); //This should destroy the bold button 

Этот код должен работать. Если editor.toolbar имеет значение NULL, вы можете получить доступ к нему до создания панели инструментов. Вы можете попробовать это:

editor.on('toolbarLoaded', function() { 
    this.toolbar.destroyButton('bold'); 
}); 

Опять же, это немного трудно отлаживать, не видя код или иметь доступ (Firebug) на страницу.

Я не использую этот сайт, поэтому вы можете задать вопрос об официальном YUI mailing list, чтобы другие могли узнать также;)

 Смежные вопросы

  • Нет связанных вопросов^_^