我想为redactor.js WYSIWYG编辑器创建一个插件,但我找不到从我的插件订阅redactor回调的方法。我需要使用keydownCallback
和autosaveCallback
。
RedactorPlugins.myPlugin = {
init: function()
{
//Code
}
}
答案 0 :(得分:4)
我实际上是在定义插件&使用回调来调用它;这允许从回调中调用多个函数/插件,并且感觉就像预期的方法。
<强>插件:强>
RedactorPlugins.advanced = {
your_method: function() {
// Add code here…
}
}
your_method()
现在可用于编辑器对象&amp;只需通过以下方式调用:
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
。唯一的麻烦是它只能通过一个插件添加(因为被调用的最后一个总是覆盖前一个插件)。
答案 1 :(得分:2)
很好的想法,这个。在roj的原始答案中。应该可以保留旧的回调函数,如下所示:
RedactorPlugins.advanced = {
init: function() {
var oldKeydownCallback = this.opts.keydownCallback;
this.opts.keydownCallback = function(e) {
// Add code here…
if (oldKeydownCallback)
oldKeydownCallback();
}
}
}
说明:旧回调的引用将保留在oldKeydownCallback中,然后将其包含在闭包中并在您自己的回调中可用,因此您可以在自己的回调函数执行完自己的代码后调用它。