Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.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
Jquery 检测Wordpress编辑帖子页面中的更改事件';s富文本编辑器(tinyMCE)_Jquery_Wordpress_Iframe_Tinymce - Fatal编程技术网

Jquery 检测Wordpress编辑帖子页面中的更改事件';s富文本编辑器(tinyMCE)

Jquery 检测Wordpress编辑帖子页面中的更改事件';s富文本编辑器(tinyMCE),jquery,wordpress,iframe,tinymce,Jquery,Wordpress,Iframe,Tinymce,我如何检测编辑文章页面中的富文本编辑器发生了更改 我想要的是在用户在富文本编辑器(HTML和可视窗格)中键入内容时执行一个函数 编辑:我在HTML窗格中完成了这项工作,该窗格将tinyMCE创建的隐藏文本区域中的jQuery keyup事件关联起来,但我仍然无法在VisualTab中检测到用户输入 我正在使用Wordpress 3.2.1,我知道他们正在使用tinyMCE实现富文本编辑器功能 似乎tinyMCE使用iframe在富文本编辑器中构建Visual选项卡,因此我尝试了前面提到的示例,但

我如何检测编辑文章页面中的富文本编辑器发生了更改

我想要的是在用户在富文本编辑器(HTML和可视窗格)中键入内容时执行一个函数

编辑:我在HTML窗格中完成了这项工作,该窗格将tinyMCE创建的隐藏文本区域中的jQuery keyup事件关联起来,但我仍然无法在VisualTab中检测到用户输入

我正在使用Wordpress 3.2.1,我知道他们正在使用tinyMCE实现富文本编辑器功能

似乎tinyMCE使用
iframe
在富文本编辑器中构建Visual选项卡,因此我尝试了前面提到的示例,但没有任何结果


感谢您的帮助。

不知道如何将此添加到WordPress,但从一个微小的角度来看,编辑器上的方法应该会有所帮助

所以你可以简单地使用

if (tinyMCE.activeEditor.isDirty()) {
  //Do something
}

检查当前活动的编辑器。WordPress可能会为您提供访问编辑器实例的其他方法。

最后,我通过添加以下代码片段解决了这个问题:

<script type="text/javascript">
    jQuery(function ($) {
        // Was needed a timeout since RTE is not initialized when this code run.
        setTimeout(function () {
            for (var i = 0; i < tinymce.editors.length; i++) {
                tinymce.editors[i].onChange.add(function (ed, e) {
                    // Update HTML view textarea (that is the one used to send the data to server).
                    ed.save();
                });
            }
        }, 1000);
    });
</script>

jQuery(函数($){
//需要超时,因为此代码运行时未初始化RTE。
setTimeout(函数(){
for(var i=0;i

Thanks感谢@HarkályGergő提示他解决这个问题:)

谢谢你的帮助。这会在我的jquery代码中触发一个错误,告诉我
tinyMCE.activeEditor
null
。现在我只需要弄清楚当编辑器内容更改时如何从您那里触发代码;)。工作完美,在WordPress 4.0和4.6上测试。另外请注意,当WordPress自动保存时,编辑器不再是“脏的”。FWIW和我知道这已经有年了,但
tinyMCE。只有当用户处于可视编辑模式时,才会设置activeEditor
。请小心,当前代码仅检查active(first?)editor,你可能有多个例子你解决了这个问题吗?现在我正在寻找相同的函数。谢谢@HarkályGergő谢谢你的提示:)我忘了给这个加上我自己的观点。我添加了它对我有用的内容,希望它对您也有用。使用
tinymce.editors[I]。在('NodeChange keyup',函数(…)
上挂钩所有事件。只有在TinyMCE 4中,我对
更改
有问题。