我想为redactor.js所见即所得编辑器创建一个插件,但是我找不到从我的插件订阅redactor回调的方法。我需要使用keydownCallback和autosaveCallback。
RedactorPlugins.myPlugin = {
init: function()
{
//Code
}
}发布于 2014-01-12 09:27:28
我实际上使用了定义插件&使用回调来调用它;这允许从回调中调用多个函数/插件,而且感觉像是预期的方法。
插件:
RedactorPlugins.advanced = {
your_method: function() {
// Add code here…
}
}your_method()现在可以在redactor对象上使用&只需通过以下代码调用即可:
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。唯一的问题是它只能由一个插件添加(因为最后调用的插件总是覆盖前一个插件)。
发布于 2015-05-05 20:01:19
在roj的原始答案中,关于this.opts的想法很好。应该可以像这样保留旧的回调函数:
RedactorPlugins.advanced = {
init: function() {
var oldKeydownCallback = this.opts.keydownCallback;
this.opts.keydownCallback = function(e) {
// Add code here…
if (oldKeydownCallback)
oldKeydownCallback();
}
}
}说明:对旧回调的引用将保留在oldKeydownCallback中,然后将其包含在闭包中,并在您自己的回调中可用,因此您可以在自己的回调函数执行完自己的代码后调用它。
https://stackoverflow.com/questions/17937877
复制相似问题