Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
使用TinyMCE 4钩住OneXeCommand事件_Tinymce_Tinymce 4 - Fatal编程技术网

使用TinyMCE 4钩住OneXeCommand事件

使用TinyMCE 4钩住OneXeCommand事件,tinymce,tinymce-4,Tinymce,Tinymce 4,我使用的是TinyMCE 4,但文档很糟糕。我试图在另一个div(编辑器之外)中提供内容的实时预览。现在我正在听这些事件: $(document).on('tinymce:changed tinymce:init', ...) 这在输入文本时起作用,但在执行命令时不会触发(例如,将现有文本更改为粗体) 在TinyMCE 3.x中,似乎有一个事件满足了我的要求。但是我找不到任何关于如何像对待change和init那样监听全局jQuery事件的文档。有人知道它触发的是什么事件吗?在中,您可以找到以

我使用的是TinyMCE 4,但文档很糟糕。我试图在另一个div(编辑器之外)中提供内容的实时预览。现在我正在听这些事件:

$(document).on('tinymce:changed tinymce:init', ...)
这在输入文本时起作用,但在执行命令时不会触发(例如,将现有文本更改为粗体)

在TinyMCE 3.x中,似乎有一个事件满足了我的要求。但是我找不到任何关于如何像对待change和init那样监听全局jQuery事件的文档。有人知道它触发的是什么事件吗?

在中,您可以找到以下示例:

// Old event
editor.onInit(editor, args) {
    // Custom logic
});

// New event
editor.on('init', function(args) {
    // Custom logic
});
因此,一个问题是获得正确的事件名称和正确的编辑器实例:) onExecCommand()事件在v4中变为“ExecCommand”

因此,在命令执行时添加处理程序应该是这样的(确保在执行下面的代码时编辑器已经初始化):

由于某些原因,此事件在执行命令时激发两次。我认为你会克服这个问题


虽然这个方法不使用jQuery绑定,但它对我来说是有效的,并且可能也会解决您的问题

如果这对其他人有帮助,下面是tinymce 4允许的所有事件的列表:


我建议不要使用tinymce4,除非它已过测试版状态。哇,“旧事件”代码有点不对劲。。。它以为是红宝石。
for (ed_id in tinymce.editors) {
    tinymce.editors[ed_id].on('ExecCommand', function(args) {
       alert(1);
    });
}