我想为 redactor.js 所见即所得编辑器创建一个插件,但我找不到从我的插件订阅 redactor 回调的方法。我需要使用keydownCallback
和autosaveCallback
。
RedactorPlugins.myPlugin = {
init: function()
{
//Code
}
}
我想为 redactor.js 所见即所得编辑器创建一个插件,但我找不到从我的插件订阅 redactor 回调的方法。我需要使用keydownCallback
和autosaveCallback
。
RedactorPlugins.myPlugin = {
init: function()
{
//Code
}
}
我实际上是定义插件并使用回调来调用它;这允许从回调中调用多个函数/插件,并且感觉就像预期的方法。
插入:
RedactorPlugins.advanced = {
your_method: function() {
// Add code here…
}
}
your_method()
现在可以在 redactor 对象上使用,并且可以通过以下方式简单地调用:
编者调用:
$('#redactor').redactor({
keydownCallback: function() {
this.your_method();
// Additional keyDownCallbacks:
this.another_method();
this.yet_another_method();
}
});
原答案:
我知道已经很晚了,但今天晚上我遇到了这个。
这对我有用:
RedactorPlugins.advanced = {
init: function() {
this.opts.keydownCallback = function(e) {
// Add code here…
}
}
}
它只是调用选项并添加keyDownCallback
. 唯一的麻烦是它只能由一个插件添加(因为最后一个调用总是覆盖前一个)。
在 roj 的原始答案中使用 this.opts 是个好主意。应该可以像这样保留旧的回调函数:
RedactorPlugins.advanced = {
init: function() {
var oldKeydownCallback = this.opts.keydownCallback;
this.opts.keydownCallback = function(e) {
// Add code here…
if (oldKeydownCallback)
oldKeydownCallback();
}
}
}
说明:对旧回调的引用将保留在 oldKeydownCallback 中,然后包含在闭包中并在您自己的回调中可用,因此您可以在自己的回调函数完成执行自己的代码后调用它。