2012-05-18 58 views
0

我有一个ckeditor插件,取决于一些自定义参数。这些参数可能会在操作过程中改变数值。我最终实现的方式是将当前值保存在插件的局部变量中,该插件在开始时被初始化,并且可以通过自定义命令进行更改。像这样ckeditor - 如何管理配置更改

var somethingId = editor.config.myplugin_Something; 
editor.addCommand('changeSomething', { 
    exec: function(_editor, data) { 
     somethingId = data.something; 
    } 
}); 

这工作不错,但我在哪里的问题(从我可以告诉)我到达那里,我需要改变的数据situatino,但是编辑尚未初始化,所以打电话

$.each(CKEDITOR.instances, function (index, editor) { 
    editor.execCommand('changeSomething', { 
     something: newValue 
     }); 
}); 

没有任何作用,并且插件以最初配置中传递的值结束。

我想不出一个使用全局变量的简短方法。有没有更好的方法来管理ckeditor插件的可变配置参数?

回答

0

我想出了一个足够简单的解决方案。使用config对象本身,并确保初始化回调也设置正确的值。

所以初始化看上去更像是:

var config = { width: xxx, height: xxx}; // do not include "something" value 
$('#mytextbox').ckeditor(function(){ 
    this.config.myplugin_somethingId = currentSomethingValue; 
}); 

当需要在以后修改我这样做,

$.each(CKEDITOR.instances, function (index, editor) { 
    editor.config.myplugin_somethingId = newSomethingValue; 
});