Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将声明的函数添加到tinymce.init中_Javascript_Tinymce_Tinymce Plugins - Fatal编程技术网

Javascript 如何将声明的函数添加到tinymce.init中

Javascript 如何将声明的函数添加到tinymce.init中,javascript,tinymce,tinymce-plugins,Javascript,Tinymce,Tinymce Plugins,我正在尝试为我拥有的不同类型的tinyMCE(简单、高级、专家…)重用一些代码 对于每种类型,我都有一个tinymce.init({}),在每种类型中,我都使用带有粘贴预处理函数的粘贴插件。由于我对所有tinymce.init使用相同的函数,因此我尝试将我的函数声明为普通函数: function myFunction(pl, o) { ... } 然后在tinynmce.init中使用它,如下所示: tinymce.init({ ... paste_preprocess : m

我正在尝试为我拥有的不同类型的tinyMCE(简单、高级、专家…)重用一些代码

对于每种类型,我都有一个
tinymce.init({})
,在每种类型中,我都使用带有粘贴预处理函数的粘贴插件。由于我对所有tinymce.init使用相同的函数,因此我尝试将我的函数声明为普通函数:

function myFunction(pl, o) { ... }
然后在tinynmce.init中使用它,如下所示:

tinymce.init({
    ...
    paste_preprocess : myFunction(pl, o)
});
paste_postprocess: function(editor, fragment) {
    myFunction(editor, fragment);
}
但它不起作用

我通常看到的唯一配置是:

tinymce.init({
...
    paste_preprocess: function(pl, o) { ... }
});
那么,匿名函数,对吗

有没有一种方法可以通过声明的函数来实现这一点,或者这只是按照惯例工作 粘贴预处理:函数(){}


非常感谢您的时间。

实际配置选项需要一个匿名函数,因此如果您想将函数外部化,可以执行以下操作:

tinymce.init({
    ...
    paste_preprocess : myFunction(pl, o)
});
paste_postprocess: function(editor, fragment) {
    myFunction(editor, fragment);
}
在其他地方,您可以定义要运行的函数:

function myFunction(editor, fragment) {
    console.log('myFunction called!');
}
然后,您可以将真正的粘贴逻辑放入
myFunction(editor,fragment)
中,只要该函数在运行时存在于页面上,一切都将正常工作


这将允许您在一个配置中根据需要加载不同的处理功能。

我更新了我的问题,谢谢您的回答!我想当我试图将某些东西传递给myFunction(pl,o)时,问题就来了,可能这些对象只存在于tinymce.init({})的范围内,这就是为什么它不起作用的原因。