首页 文章

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

提问于
浏览
2

如何在“编辑帖子”页面中检测到富文本编辑器中的更改?

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

EDIT: 我在HTML窗格中完成了在tinyMCE创建的隐藏文本区域中关联jQuery keyup事件,但我仍然无法在Visual选项卡中检测用户输入 .

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

似乎 tinyMCE 使用 iframe 在富文本编辑器中构建 Visual 选项卡,所以我尝试了指向here的示例而没有任何结果 .

任何帮助赞赏 .

2 回答

  • 2

    不知道如何将其添加到WordPress,但从TinyMCE的角度来看,编辑器上的isDirty()方法应该有所帮助 .

    所以你可以简单地使用

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

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

  • 2

    最后,我通过添加以下代码片段来解决此问题:

    <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>
    

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

相关问题