【问题标题】:Modifying a YUI RTE toolbar after it's been created在创建后修改 YUI RTE 工具栏
【发布时间】:2009-02-04 16:18:57
【问题描述】:

我处于无法控制创建一个或多个YUI Rich Text Editors 的情况;它是在别人的图书馆里完成的。

就本次讨论而言:

  • 修补代码 - 猴子或其他 - 不是一种选择。
  • 删除 (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

那么,有没有办法在调用render() 删除工具栏按钮后修改 YUI 富文本编辑器?

【问题讨论】:

    标签: javascript yui rte


    【解决方案1】:

    由于我看不到代码,所以有点难以给出答案。但是,一旦您可以访问 Editor 实例,工具栏属性应该可以让您完全访问 addButton/detroyButton 方法。

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

    该代码应该可以工作。如果 editor.toolbar 为空,那么您可能在创建工具栏之前访问它。你可以试试这个:

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

    同样,在不查看代码或无法访问 (Firebug) 页面的情况下进行调试有点困难。

    我不使用这个网站,所以你可能想在官方YUI mailing list上提问,以便其他人也可以学习;)

    【讨论】:

      猜你喜欢
      • 2010-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      • 2021-10-01
      • 1970-01-01
      相关资源
      最近更新 更多