0

我处于无法控制一个或多个YUI 富文本编辑器的创建的情况;它是在别人的图书馆里完成的。

出于本次讨论的目的:

  • 修补代码——猴子或其他——不是一种选择。
  • 删除 ( editor.destroy()) 已经存在的编辑器并添加我自己的编辑器也不是一种选择。创建编辑器的代码对其做了其他事情并引用了参考等——我需要修改当前的编辑器

我所说的创造是指:

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

myEditor.render();

问题是我希望这些编辑器具有与他们所拥有的不同的工具栏配置。确切地说,我想删除一堆按钮(默认有点臃肿)。

我设法用该EditorInfo工具获得了编辑器,但我真的无法用它做任何事情。编辑器上显然有一个变量可以让您获取Toolbar实例,但是当我尝试它时,我得到的只是null.

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

4

1 回答 1

1

由于我看不到代码,所以很难给出答案。但是,一旦您可以访问 Editor 实例,工具栏属性应该可以让您完全访问 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 邮件列表上提问,以便其他人也可以学习;)

于 2009-02-04T23:45:58.157 回答